ddd-ts-kit 0.13.0 → 0.14.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 (100) hide show
  1. package/README.md +6 -2
  2. package/dist/check/catalogue/architecture-rules.d.ts.map +1 -1
  3. package/dist/check/catalogue/architecture-rules.js +2 -0
  4. package/dist/check/catalogue/architecture-rules.js.map +1 -1
  5. package/dist/check/errors/kit-error-codes.d.ts.map +1 -1
  6. package/dist/check/errors/kit-error-codes.js +1 -0
  7. package/dist/check/errors/kit-error-codes.js.map +1 -1
  8. package/dist/check/explain/authz-docs.d.ts.map +1 -1
  9. package/dist/check/explain/authz-docs.js +12 -0
  10. package/dist/check/explain/authz-docs.js.map +1 -1
  11. package/dist/check/explain/errors-docs.js +1 -1
  12. package/dist/check/explain/errors-docs.js.map +1 -1
  13. package/dist/check/fixtures/authz-fixtures.d.ts.map +1 -1
  14. package/dist/check/fixtures/authz-fixtures.js +38 -1
  15. package/dist/check/fixtures/authz-fixtures.js.map +1 -1
  16. package/dist/check/rules/authz-fields-by-schema.d.ts +3 -0
  17. package/dist/check/rules/authz-fields-by-schema.d.ts.map +1 -0
  18. package/dist/check/rules/authz-fields-by-schema.js +33 -0
  19. package/dist/check/rules/authz-fields-by-schema.js.map +1 -0
  20. package/dist/commands/init.d.ts.map +1 -1
  21. package/dist/commands/init.js +2 -0
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/config/index.d.ts +1 -1
  24. package/dist/config/index.d.ts.map +1 -1
  25. package/dist/config/index.js +1 -1
  26. package/dist/config/index.js.map +1 -1
  27. package/dist/config/parse-stack.d.ts.map +1 -1
  28. package/dist/config/parse-stack.js +3 -1
  29. package/dist/config/parse-stack.js.map +1 -1
  30. package/dist/config/stack.d.ts +14 -0
  31. package/dist/config/stack.d.ts.map +1 -1
  32. package/dist/config/stack.js +2 -0
  33. package/dist/config/stack.js.map +1 -1
  34. package/dist/describe/context-description.d.ts +6 -0
  35. package/dist/describe/context-description.d.ts.map +1 -1
  36. package/dist/describe/format-description.js +9 -1
  37. package/dist/describe/format-description.js.map +1 -1
  38. package/dist/describe/presentation-of-route.d.ts +4 -0
  39. package/dist/describe/presentation-of-route.d.ts.map +1 -0
  40. package/dist/describe/presentation-of-route.js +15 -0
  41. package/dist/describe/presentation-of-route.js.map +1 -0
  42. package/dist/describe/read-controllers.d.ts.map +1 -1
  43. package/dist/describe/read-controllers.js +4 -1
  44. package/dist/describe/read-controllers.js.map +1 -1
  45. package/dist/describe/read-routes.d.ts.map +1 -1
  46. package/dist/describe/read-routes.js +2 -0
  47. package/dist/describe/read-routes.js.map +1 -1
  48. package/dist/generate/kinds/form-kind.d.ts +3 -0
  49. package/dist/generate/kinds/form-kind.d.ts.map +1 -0
  50. package/dist/generate/kinds/form-kind.js +38 -0
  51. package/dist/generate/kinds/form-kind.js.map +1 -0
  52. package/dist/generate/kinds/presentation/controller-of.d.ts +10 -0
  53. package/dist/generate/kinds/presentation/controller-of.d.ts.map +1 -0
  54. package/dist/generate/kinds/presentation/controller-of.js +13 -0
  55. package/dist/generate/kinds/presentation/controller-of.js.map +1 -0
  56. package/dist/generate/kinds/presentation/controller-source.d.ts +13 -0
  57. package/dist/generate/kinds/presentation/controller-source.d.ts.map +1 -0
  58. package/dist/generate/kinds/presentation/controller-source.js +44 -0
  59. package/dist/generate/kinds/presentation/controller-source.js.map +1 -0
  60. package/dist/generate/kinds/representation-kind.d.ts +3 -0
  61. package/dist/generate/kinds/representation-kind.d.ts.map +1 -0
  62. package/dist/generate/kinds/representation-kind.js +54 -0
  63. package/dist/generate/kinds/representation-kind.js.map +1 -0
  64. package/dist/generate/kinds.d.ts.map +1 -1
  65. package/dist/generate/kinds.js +4 -0
  66. package/dist/generate/kinds.js.map +1 -1
  67. package/dist/help/usage.d.ts +1 -1
  68. package/dist/help/usage.d.ts.map +1 -1
  69. package/dist/help/usage.js +2 -1
  70. package/dist/help/usage.js.map +1 -1
  71. package/dist/init/files/platform-files.js +3 -1
  72. package/dist/init/files/platform-files.js.map +1 -1
  73. package/dist/init/manifest/versions.js +24 -24
  74. package/dist/init/stack/resolve-stack.d.ts.map +1 -1
  75. package/dist/init/stack/resolve-stack.js +15 -1
  76. package/dist/init/stack/resolve-stack.js.map +1 -1
  77. package/dist/init/stack/stack-options.d.ts +2 -0
  78. package/dist/init/stack/stack-options.d.ts.map +1 -1
  79. package/dist/stack/stack-vars.js +19 -2
  80. package/dist/stack/stack-vars.js.map +1 -1
  81. package/dist/version.d.ts +1 -1
  82. package/dist/version.js +1 -1
  83. package/package.json +2 -2
  84. package/templates/docs/openapi.json.tpl +15 -0
  85. package/templates/init/CLAUDE.md.tpl +2 -2
  86. package/templates/init/platform/auth/http-boundary.ts.tpl +20 -3
  87. package/templates/init/platform/compose-application.manual.ts.tpl +18 -0
  88. package/templates/init/platform/compose-application.tsyringe.ts.tpl +23 -0
  89. package/templates/init/platform/http/presentation-of.ts.tpl +27 -0
  90. package/templates/init/platform/http/start-http-server.express.ts.tpl +1 -1
  91. package/templates/init/platform/http/start-http-server.fastify.ts.tpl +1 -1
  92. package/templates/init/platform/http/start-http-server.hono.ts.tpl +1 -1
  93. package/templates/init/platform/http/start-http-server.nest.ts.tpl +2 -2
  94. package/templates/init/platform/http/with-documentation.ts.tpl +13 -3
  95. package/templates/init/platform/http/with-forms.ts.tpl +7 -0
  96. package/templates/init/rules/application.md.tpl +1 -1
  97. package/templates/init/rules/presentation.md.tpl +1 -1
  98. package/templates/init/scripts/openapi.ts.tpl +27 -6
  99. package/templates/pipeline/biome.json.tpl +1 -0
  100. package/templates/pipeline/package-scripts.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"format-description.js","sourceRoot":"","sources":["../../src/describe/format-description.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-description.js","sourceRoot":"","sources":["../../src/describe/format-description.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { RouteFact } from './context-description.js';
2
+ /** What a route says of its presentation, in the options of its declaration: the media types it answers and reads in, and its form. */
3
+ export declare function presentationOfRoute(options: string, operationId: string): Pick<RouteFact, 'produces' | 'consumes' | 'form'>;
4
+ //# sourceMappingURL=presentation-of-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-of-route.d.ts","sourceRoot":"","sources":["../../src/describe/presentation-of-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG1D,uIAAuI;AACvI,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC,CASnD"}
@@ -0,0 +1,15 @@
1
+ import { listedIn } from './listed-in.js';
2
+ /** What a route says of its presentation, in the options of its declaration: the media types it answers and reads in, and its form. */
3
+ export function presentationOfRoute(options, operationId) {
4
+ const produces = mediaTypes(options, 'produces');
5
+ const consumes = mediaTypes(options, 'consumes');
6
+ return {
7
+ ...(produces.length === 0 ? {} : { produces }),
8
+ ...(consumes.length === 0 ? {} : { consumes }),
9
+ ...(/(?:^|[\n,{])\s*form\s*[,:}\n]/.test(options) ? { form: `GET /forms/${operationId}` } : {}),
10
+ };
11
+ }
12
+ function mediaTypes(options, key) {
13
+ return listedIn(options, key).map((entry) => entry.replace(/^['"]|['"]$/g, ''));
14
+ }
15
+ //# sourceMappingURL=presentation-of-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-of-route.js","sourceRoot":"","sources":["../../src/describe/presentation-of-route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,uIAAuI;AACvI,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,WAAmB;IAEnB,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEjD,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC9C,GAAG,CAAC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChG,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,GAAW;IAC9C,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-controllers.d.ts","sourceRoot":"","sources":["../../src/describe/read-controllers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,SAAS,EAAiB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuB3D,mHAAmH;AACnH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,CActG"}
1
+ {"version":3,"file":"read-controllers.d.ts","sourceRoot":"","sources":["../../src/describe/read-controllers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,SAAS,EAAiB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwB3D,mHAAmH;AACnH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,CActG"}
@@ -1,6 +1,7 @@
1
1
  import { filesUnder } from '../generate/files-under.js';
2
2
  import { decoratorOptions } from './decorator-options.js';
3
3
  import { listedIn } from './listed-in.js';
4
+ import { presentationOfRoute } from './presentation-of-route.js';
4
5
  import { readRouteGroups } from './read-route-groups.js';
5
6
  const FOLDER = 'presentation/http';
6
7
  const PARTS = ['params', 'query', 'headers', 'body'];
@@ -29,10 +30,11 @@ function routeOf(read, groups, useCases) {
29
30
  const guards = [...group.guards, ...listedIn(options, 'guards')];
30
31
  const { kind, useCase } = sentBy(read);
31
32
  const sent = useCases.find((candidate) => candidate.kind === kind && candidate.name === useCase);
33
+ const operationId = field(options, 'operationId') || operationIdOf(source);
32
34
  return {
33
35
  method: field(options, 'method'),
34
36
  path: pathOf(field(options, 'path'), group.prefix),
35
- operationId: field(options, 'operationId') || operationIdOf(source),
37
+ operationId,
36
38
  group: group.name,
37
39
  guards,
38
40
  useCase,
@@ -40,6 +42,7 @@ function routeOf(read, groups, useCases) {
40
42
  request: requestOf(source, options),
41
43
  responses: responsesOf(source, options),
42
44
  errors: errorsOf(options, group, guards),
45
+ ...presentationOfRoute(options, operationId),
43
46
  file,
44
47
  };
45
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-controllers.js","sourceRoot":"","sources":["../../src/describe/read-controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-controllers.js","sourceRoot":"","sources":["../../src/describe/read-controllers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-routes.d.ts","sourceRoot":"","sources":["../../src/describe/read-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,SAAS,EAAiB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,CAajG"}
1
+ {"version":3,"file":"read-routes.d.ts","sourceRoot":"","sources":["../../src/describe/read-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,SAAS,EAAiB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,CAajG"}
@@ -1,3 +1,4 @@
1
+ import { presentationOfRoute } from './presentation-of-route.js';
1
2
  import { readControllers } from './read-controllers.js';
2
3
  const FOLDER = 'presentation/http';
3
4
  /**
@@ -28,6 +29,7 @@ function routeOf(file, source, useCases) {
28
29
  request: requestOf(source),
29
30
  responses: responsesOf(source),
30
31
  errors: [...(/\berrors:\s*\[([^\]]*)\]/.exec(source)?.[1] ?? '').matchAll(/'([^']+)'/g)].map((match) => match[1] ?? ''),
32
+ ...presentationOfRoute(source, field('operationId')),
31
33
  file,
32
34
  };
33
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-routes.js","sourceRoot":"","sources":["../../src/describe/read-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-routes.js","sourceRoot":"","sources":["../../src/describe/read-routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Kind } from '../kind.js';
2
+ export declare const formKind: Kind;
3
+ //# sourceMappingURL=form-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-kind.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/form-kind.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAavC,eAAO,MAAM,QAAQ,EAAE,IAwCtB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { CONFIG_FILE } from '../../config/index.js';
2
+ import { CliError } from '../../cli-error.js';
3
+ import { label } from '../label.js';
4
+ import { openScope } from '../open-scope.js';
5
+ import { controllerOf } from './presentation/controller-of.js';
6
+ import { controllerSource } from './presentation/controller-source.js';
7
+ const HINTS = `/** How the body of the route is entered, served as a form at GET /forms/<operationId> for the caller who asks. */
8
+ const form = defineForm<Infer<typeof body>>({
9
+ // TODO(domain): name the permission of the use case as its @Requires does (requires: { permission, subject, context }), so that only who may run it reads the form.
10
+ // TODO(domain): group the fields (groups), and say per field what the schema cannot: its widget, the GET route its options come from (lookup), when it shows (visibleWhen) and when it is required (requiredWhen).
11
+ });
12
+ `;
13
+ export const formKind = {
14
+ name: 'form',
15
+ aliases: [],
16
+ usage: 'form <context> <UseCase>',
17
+ summary: 'The form of a controller that receives a body: `defineForm` hints next to its schemas, named in `@Controller` as `form`, served at GET /forms/<operationId> when "stack.forms" is "on". Fields, constraints and options come from the body schema, read-only and hidden fields from its field access.',
18
+ positionals: ['context', 'UseCase'],
19
+ writesShared: false,
20
+ run: (request) => {
21
+ const scope = openScope(request);
22
+ const useCase = label(scope, request.args[1] ?? '', { what: 'use case', strip: ['controller'] });
23
+ const { file, source } = controllerOf(scope, useCase);
24
+ if (!/^\s*body[,:]/m.test(source)) {
25
+ throw new CliError(`${useCase.pascal}Controller receives no body.`, 'A form describes the body of a route: give the controller a body schema first.');
26
+ }
27
+ if (/\bconst form = defineForm\b/.test(source)) {
28
+ throw new CliError(`${useCase.pascal}Controller already declares its form.`, 'Edit its hints in the controller.');
29
+ }
30
+ const hinted = controllerSource.withOption(controllerSource.beforeController(source, HINTS), 'form,');
31
+ const imported = controllerSource.withImport(controllerSource.withImport(hinted, 'defineForm', '@ddd-ts-kit/http'), 'type Infer', '@ddd-ts-kit/validation');
32
+ scope.ws.update(file, imported);
33
+ if (scope.config.stack.forms !== 'on') {
34
+ scope.ws.note(`The form is served once "stack.forms" is "on" in ${CONFIG_FILE}: run \`ddd-ts-kit init --force --forms on\`.`);
35
+ }
36
+ },
37
+ };
38
+ //# sourceMappingURL=form-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-kind.js","sourceRoot":"","sources":["../../../src/generate/kinds/form-kind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,KAAK,GAAG;;;;;CAKb,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAS;IAC5B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,0BAA0B;IACjC,OAAO,EACL,uSAAuS;IACzS,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IACnC,YAAY,EAAE,KAAK;IACnB,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,QAAQ,CAChB,GAAG,OAAO,CAAC,MAAM,8BAA8B,EAC/C,gFAAgF,CACjF,CAAC;QACJ,CAAC;QAED,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,uCAAuC,EAAE,mCAAmC,CAAC,CAAC;QACpH,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QAEtG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAC1C,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,EACrE,YAAY,EACZ,wBAAwB,CACzB,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtC,KAAK,CAAC,EAAE,CAAC,IAAI,CACX,oDAAoD,WAAW,+CAA+C,CAC/G,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Name } from '../../../naming/index.js';
2
+ import type { Scope } from '../../scope.js';
3
+ /** A controller of the context, found by its use case, with its source as it stands. */
4
+ export interface FoundController {
5
+ readonly file: string;
6
+ readonly source: string;
7
+ }
8
+ /** The controller of a use case, wherever its resource folder is under presentation/http/. */
9
+ export declare function controllerOf(scope: Scope, useCase: Name): FoundController;
10
+ //# sourceMappingURL=controller-of.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-of.d.ts","sourceRoot":"","sources":["../../../../src/generate/kinds/presentation/controller-of.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,eAAe,CAiBzE"}
@@ -0,0 +1,13 @@
1
+ import { CliError } from '../../../cli-error.js';
2
+ import { filesUnder } from '../../files-under.js';
3
+ /** The controller of a use case, wherever its resource folder is under presentation/http/. */
4
+ export function controllerOf(scope, useCase) {
5
+ const http = `${scope.dir}/presentation/http`;
6
+ const found = filesUnder(scope.ws, http).find((file) => file.endsWith(`/${useCase.kebab}/${useCase.kebab}.controller.ts`));
7
+ const source = found === undefined ? undefined : scope.ws.read(`${http}/${found}`);
8
+ if (found === undefined || source === undefined || !source.includes('@Controller(')) {
9
+ throw new CliError(`The context ${scope.context.kebab} has no controller for ${useCase.title}.`, `Write it first: \`ddd-ts-kit generate controller ${scope.context.kebab} ${useCase.pascal}\`; a function route declares \`produces\` and \`form\` in its \`defineRoute\` spec by hand.`);
10
+ }
11
+ return { file: `${http}/${found}`, source };
12
+ }
13
+ //# sourceMappingURL=controller-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-of.js","sourceRoot":"","sources":["../../../../src/generate/kinds/presentation/controller-of.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AASlD,8FAA8F;AAC9F,MAAM,UAAU,YAAY,CAAC,KAAY,EAAE,OAAa;IACtD,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,oBAAoB,CAAC;IAE9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,gBAAgB,CAAC,CAClE,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IAEnF,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,QAAQ,CAChB,eAAe,KAAK,CAAC,OAAO,CAAC,KAAK,0BAA0B,OAAO,CAAC,KAAK,GAAG,EAC5E,oDAAoD,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,8FAA8F,CACxL,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Edits of the source of a controller written by the generator, which keep its shape: one more
3
+ * name in an import, one more option of `@Controller`, a declaration before the class.
4
+ */
5
+ export declare const controllerSource: {
6
+ /** Adds `name` (`type Name` for a type) to the import of `module`, or a new import line after the last one. */
7
+ withImport(source: string, name: string, module: string): string;
8
+ /** Adds an option line to `@Controller({ ... })`, after its `summary`, with its indentation. */
9
+ withOption(source: string, line: string): string;
10
+ /** Puts a declaration right before the decorator of the class. */
11
+ beforeController(source: string, declaration: string): string;
12
+ };
13
+ //# sourceMappingURL=controller-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-source.d.ts","sourceRoot":"","sources":["../../../../src/generate/kinds/presentation/controller-source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAC3B,+GAA+G;IAC/G,UAAU,SAAS,MAAM,QAAQ,MAAM,UAAU,MAAM,GAAG,MAAM;IAoChE,gGAAgG;IAChG,UAAU,SAAS,MAAM,QAAQ,MAAM,GAAG,MAAM;IAYhD,kEAAkE;IAClE,gBAAgB,SAAS,MAAM,eAAe,MAAM,GAAG,MAAM;CAK9D,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Edits of the source of a controller written by the generator, which keep its shape: one more
3
+ * name in an import, one more option of `@Controller`, a declaration before the class.
4
+ */
5
+ export const controllerSource = {
6
+ /** Adds `name` (`type Name` for a type) to the import of `module`, or a new import line after the last one. */
7
+ withImport(source, name, module) {
8
+ const written = new RegExp(String.raw `import\s*(type\s*)?\{([^}]*)\}\s*from\s*'${module.replaceAll('/', '\\/')}';`).exec(source);
9
+ if (written === null) {
10
+ const lastImport = [...source.matchAll(/^import .*;$/gm)].at(-1);
11
+ const at = lastImport === undefined ? 0 : lastImport.index + lastImport[0].length + 1;
12
+ const typeOnly = name.startsWith('type ') ? 'type ' : '';
13
+ return `${source.slice(0, at)}import ${typeOnly}{ ${name.replace(/^type\s+/, '')} } from '${module}';\n${source.slice(at)}`;
14
+ }
15
+ const names = (written[2] ?? '')
16
+ .split(',')
17
+ .map((part) => part.trim())
18
+ .filter((part) => part !== '');
19
+ const bare = name.replace(/^type\s+/, '');
20
+ if (names.some((part) => part.replace(/^type\s+/, '') === bare)) {
21
+ return source;
22
+ }
23
+ const typeOnly = written[1] !== undefined;
24
+ const added = typeOnly ? [...names, bare] : [...names, name];
25
+ const values = added.filter((part) => !part.startsWith('type ')).sort();
26
+ const types = added.filter((part) => part.startsWith('type ')).sort();
27
+ return source.replace(written[0], `import ${typeOnly ? 'type ' : ''}{ ${[...values, ...types].join(', ')} } from '${module}';`);
28
+ },
29
+ /** Adds an option line to `@Controller({ ... })`, after its `summary`, with its indentation. */
30
+ withOption(source, line) {
31
+ const summary = /^(\s*)summary:.*$/m.exec(source);
32
+ if (summary === null) {
33
+ return source;
34
+ }
35
+ const end = summary.index + summary[0].length;
36
+ return `${source.slice(0, end)}\n${summary[1] ?? ''}${line}${source.slice(end)}`;
37
+ },
38
+ /** Puts a declaration right before the decorator of the class. */
39
+ beforeController(source, declaration) {
40
+ const at = source.indexOf('@Controller(');
41
+ return `${source.slice(0, at)}${declaration}\n${source.slice(at)}`;
42
+ },
43
+ };
44
+ //# sourceMappingURL=controller-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-source.js","sourceRoot":"","sources":["../../../../src/generate/kinds/presentation/controller-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Kind } from '../kind.js';
2
+ export declare const representationKind: Kind;
3
+ //# sourceMappingURL=representation-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"representation-kind.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/representation-kind.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAUvC,eAAO,MAAM,kBAAkB,EAAE,IAkChC,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { CONFIG_FILE } from '../../config/index.js';
2
+ import { CliError } from '../../cli-error.js';
3
+ import { label } from '../label.js';
4
+ import { openScope } from '../open-scope.js';
5
+ import { controllerOf } from './presentation/controller-of.js';
6
+ import { controllerSource } from './presentation/controller-source.js';
7
+ const SHORT_NAMES = { xml: 'application/xml', csv: 'text/csv' };
8
+ const XML = 'application/xml';
9
+ const CSV = 'text/csv';
10
+ export const representationKind = {
11
+ name: 'representation',
12
+ aliases: [],
13
+ usage: 'representation <context> <UseCase> <xml|csv|media/type>[,...]',
14
+ summary: 'Makes a controller answer in more media types than JSON: `produces` in `@Controller`, and `consumes` of XML for a route that receives a body. The request chooses by its Accept header when "stack.representations" is "negotiated"; the contract lists every media type.',
15
+ positionals: ['context', 'UseCase', 'media'],
16
+ writesShared: false,
17
+ run: (request) => {
18
+ const scope = openScope(request);
19
+ const useCase = label(scope, request.args[1] ?? '', { what: 'use case', strip: ['controller'] });
20
+ const media = mediaTypesOf(request.args[2] ?? '');
21
+ const { file, source } = controllerOf(scope, useCase);
22
+ if (/^\s*produces:/m.test(source)) {
23
+ throw new CliError(`${useCase.pascal}Controller already declares what it produces.`, 'Edit its `produces` in the controller.');
24
+ }
25
+ const receivesXml = media.includes(XML) && /^\s*body[,:]/m.test(source);
26
+ const produced = controllerSource.withOption(source, `produces: [${media.map((type) => `'${type}'`).join(', ')}],`);
27
+ scope.ws.update(file, receivesXml ? controllerSource.withOption(produced, `consumes: ['${XML}'],`) : produced);
28
+ if (receivesXml) {
29
+ scope.ws.note(`The route now also reads its body in XML (\`consumes: ['${XML}']\`), and answers 415 to another media type: remove \`consumes\` from @Controller if only the answer was to be XML.`);
30
+ }
31
+ tellWhatIsLeft(scope, { media, source });
32
+ },
33
+ };
34
+ function mediaTypesOf(written) {
35
+ const media = written
36
+ .split(',')
37
+ .map((part) => part.trim())
38
+ .filter((part) => part !== '')
39
+ .map((part) => (Object.hasOwn(SHORT_NAMES, part) ? (SHORT_NAMES[part] ?? part) : part));
40
+ const invalid = media.find((type) => !/^[a-z]+\/[a-z0-9.+-]+$/.test(type) || type === 'application/json');
41
+ if (media.length === 0 || invalid !== undefined) {
42
+ throw new CliError(`"${written}" names no media type besides JSON.`, 'Name xml, csv or a media type such as application/xml, comma-separated: JSON is always answered.');
43
+ }
44
+ return [...new Set(media)];
45
+ }
46
+ function tellWhatIsLeft(scope, { media, source }) {
47
+ if (media.includes(CSV) && !/\b(?:pageSchemaOf|streamSchemaOf)\(/.test(source)) {
48
+ scope.ws.note('CSV writes a list of flat rows: answer a page (pageSchemaOf) or a streamed list (streamSchemaOf) of an item whose fields are scalars, or the routes are refused when they are mounted.');
49
+ }
50
+ if (scope.config.stack.representations !== 'negotiated') {
51
+ scope.ws.note(`The route answers JSON only until "stack.representations" is "negotiated" in ${CONFIG_FILE}: run \`ddd-ts-kit init --force --representations negotiated\`.`);
52
+ }
53
+ }
54
+ //# sourceMappingURL=representation-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"representation-kind.js","sourceRoot":"","sources":["../../../src/generate/kinds/representation-kind.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../src/generate/kinds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAqCtC,qEAAqE;AACrE,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EAqChC,CAAC"}
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../src/generate/kinds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAuCtC,qEAAqE;AACrE,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EAuChC,CAAC"}
@@ -15,6 +15,7 @@ import { entityKind } from './kinds/entity-kind.js';
15
15
  import { eventHandlerKind } from './kinds/event-handler-kind.js';
16
16
  import { fileUploadKind } from './kinds/file-upload-kind.js';
17
17
  import { gatewayKind } from './kinds/gateway-kind.js';
18
+ import { formKind } from './kinds/form-kind.js';
18
19
  import { guardKind } from './kinds/guard-kind.js';
19
20
  import { integrationEventKind } from './kinds/integration-event-kind.js';
20
21
  import { integrationHandlerKind } from './kinds/integration-handler-kind.js';
@@ -25,6 +26,7 @@ import { processKind } from './kinds/process-kind.js';
25
26
  import { projectionKind } from './kinds/projection-kind.js';
26
27
  import { queryKind } from './kinds/query-kind.js';
27
28
  import { repositoryKind } from './kinds/repository-kind.js';
29
+ import { representationKind } from './kinds/representation-kind.js';
28
30
  import { routeGroupKind } from './kinds/route-group-kind.js';
29
31
  import { controllerKind, routeKind } from './kinds/route-kind.js';
30
32
  import { schemaKind } from './kinds/schema-kind.js';
@@ -55,6 +57,8 @@ export const KINDS = [
55
57
  fileUploadKind,
56
58
  routeGroupKind,
57
59
  guardKind,
60
+ representationKind,
61
+ formKind,
58
62
  schemaKind,
59
63
  integrationEventKind,
60
64
  integrationHandlerKind,
@@ -1 +1 @@
1
- {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../src/generate/kinds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qEAAqE;AACrE,MAAM,CAAC,MAAM,KAAK,GAAoB;IACpC,WAAW;IACX,aAAa;IACb,WAAW;IACX,UAAU;IACV,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,SAAS;IACT,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,SAAS;IACT,QAAQ;IACR,SAAS;IACT,cAAc;IACd,cAAc;IACd,cAAc;IACd,SAAS;IACT,UAAU;IACV,oBAAoB;IACpB,sBAAsB;IACtB,gBAAgB;IAChB,cAAc;IACd,OAAO;IACP,iBAAiB;IACjB,WAAW;IACX,OAAO;IACP,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../src/generate/kinds.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /** Every command of the CLI and its flags, as `--help` prints them and docs/guides/commands.md shows them. */
2
- export declare const USAGE = "Usage\n ddd-ts-kit init [--http express|fastify|hono|nest|none]\n [--validation zod|class-validator|typebox|standard-schema|none]\n [--di tsyringe|nest|manual] [--tests vitest|jest]\n [--orm drizzle|knex|prisma|typeorm|custom|none] [--database postgres|mysql|sqlite|none]\n [--events in-memory|outbox] [--docs-ui swagger|scalar|redoc|none]\n [--ci github|gitlab|both|none] [--ci-extras <extra>,...|none]\n [--authn jwt|keycloak|none] [--authz rbac|abac|rebac|custom]\n [--broker none|rabbitmq|kafka|nats|redis|custom] [--cache none|redis] [--http-cache none|varnish]\n [--storage local|s3|none]\n [--audit on|off]\n [--errors none|sentry] [--logger stdout|pino|winston] [--style declared|explicit] [--assembly barrel|discovery]\n [--dependencies signature|listed] [--refusals factories|classes]\n [--routes controllers|functions] [--value-objects throwing|result] [--literals named|free] [--tenancy none|shared-table] [--queue database|redis|memory]\n [--schemas shared|per-route]\n [--package-manager npm|pnpm] [--allow-no-outbox \"<reason>\"] [--import-alias '$<name>/']\n [--import-extension none|js] [--sdk]\n [--context <name>:<core|supporting|generic>]... [--dry-run] [--force]\n ddd-ts-kit generate <kind> ... [--term \"<Term>=<meaning>\"]... [--allow-name] [--local-only] [--dry-run] [--force] (alias: g)\n ddd-ts-kit generate --help --json\n ddd-ts-kit list [--context <name>]\n ddd-ts-kit describe <context>\n ddd-ts-kit status\n ddd-ts-kit todo [<context>]\n ddd-ts-kit worker-scope <context> [--worktree <path>] [--branch <name>] [--dry-run]\n ddd-ts-kit docs [--check] [--stored-events]\n ddd-ts-kit sdk [--check] [--dry-run]\n ddd-ts-kit depcruise-config [--check|--write]\n ddd-ts-kit build-aliases [--project <tsconfig>]\n ddd-ts-kit error-factories --plan | --apply [--dry-run]\n ddd-ts-kit controllers [<context>] [--dry-run]\n ddd-ts-kit value-objects [--dry-run]\n ddd-ts-kit affected [--base <git-ref>] [--head <git-ref>] [--format text|json|github|env]\n ddd-ts-kit check [paths...] [--rule <id>]... [--format text|json|github|gitlab] [--changed-since <git-ref>] [--self]\n ddd-ts-kit check --clean-only <dir>... [--rule <id>]... [--format text|json|github]\n ddd-ts-kit check --commit-size [--staged] [--strict]\n ddd-ts-kit check-file <path>\n ddd-ts-kit rules\n ddd-ts-kit explain <rule-id>\n\nEvery command accepts --json (machine-readable output) and --cwd <dir> (project root).";
2
+ export declare const USAGE = "Usage\n ddd-ts-kit init [--http express|fastify|hono|nest|none]\n [--validation zod|class-validator|typebox|standard-schema|none]\n [--di tsyringe|nest|manual] [--tests vitest|jest]\n [--orm drizzle|knex|prisma|typeorm|custom|none] [--database postgres|mysql|sqlite|none]\n [--events in-memory|outbox] [--docs-ui swagger|scalar|redoc|none]\n [--ci github|gitlab|both|none] [--ci-extras <extra>,...|none]\n [--authn jwt|keycloak|none] [--authz rbac|abac|rebac|custom]\n [--broker none|rabbitmq|kafka|nats|redis|custom] [--cache none|redis] [--http-cache none|varnish]\n [--storage local|s3|none]\n [--audit on|off]\n [--errors none|sentry] [--logger stdout|pino|winston] [--style declared|explicit] [--assembly barrel|discovery]\n [--dependencies signature|listed] [--refusals factories|classes]\n [--routes controllers|functions] [--representations negotiated|json] [--forms on|off]\n [--value-objects throwing|result] [--literals named|free] [--tenancy none|shared-table] [--queue database|redis|memory]\n [--schemas shared|per-route]\n [--package-manager npm|pnpm] [--allow-no-outbox \"<reason>\"] [--import-alias '$<name>/']\n [--import-extension none|js] [--sdk]\n [--context <name>:<core|supporting|generic>]... [--dry-run] [--force]\n ddd-ts-kit generate <kind> ... [--term \"<Term>=<meaning>\"]... [--allow-name] [--local-only] [--dry-run] [--force] (alias: g)\n ddd-ts-kit generate --help --json\n ddd-ts-kit list [--context <name>]\n ddd-ts-kit describe <context>\n ddd-ts-kit status\n ddd-ts-kit todo [<context>]\n ddd-ts-kit worker-scope <context> [--worktree <path>] [--branch <name>] [--dry-run]\n ddd-ts-kit docs [--check] [--stored-events]\n ddd-ts-kit sdk [--check] [--dry-run]\n ddd-ts-kit depcruise-config [--check|--write]\n ddd-ts-kit build-aliases [--project <tsconfig>]\n ddd-ts-kit error-factories --plan | --apply [--dry-run]\n ddd-ts-kit controllers [<context>] [--dry-run]\n ddd-ts-kit value-objects [--dry-run]\n ddd-ts-kit affected [--base <git-ref>] [--head <git-ref>] [--format text|json|github|env]\n ddd-ts-kit check [paths...] [--rule <id>]... [--format text|json|github|gitlab] [--changed-since <git-ref>] [--self]\n ddd-ts-kit check --clean-only <dir>... [--rule <id>]... [--format text|json|github]\n ddd-ts-kit check --commit-size [--staged] [--strict]\n ddd-ts-kit check-file <path>\n ddd-ts-kit rules\n ddd-ts-kit explain <rule-id>\n\nEvery command accepts --json (machine-readable output) and --cwd <dir> (project root).";
3
3
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/help/usage.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,eAAO,MAAM,KAAK,opFAwCqE,CAAC"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/help/usage.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,eAAO,MAAM,KAAK,4tFAyCqE,CAAC"}
@@ -12,7 +12,8 @@ export const USAGE = `Usage
12
12
  [--audit on|off]
13
13
  [--errors none|sentry] [--logger stdout|pino|winston] [--style declared|explicit] [--assembly barrel|discovery]
14
14
  [--dependencies signature|listed] [--refusals factories|classes]
15
- [--routes controllers|functions] [--value-objects throwing|result] [--literals named|free] [--tenancy none|shared-table] [--queue database|redis|memory]
15
+ [--routes controllers|functions] [--representations negotiated|json] [--forms on|off]
16
+ [--value-objects throwing|result] [--literals named|free] [--tenancy none|shared-table] [--queue database|redis|memory]
16
17
  [--schemas shared|per-route]
17
18
  [--package-manager npm|pnpm] [--allow-no-outbox "<reason>"] [--import-alias '$<name>/']
18
19
  [--import-extension none|js] [--sdk]
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/help/usage.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,MAAM,CAAC,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFAwCkE,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/help/usage.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,MAAM,CAAC,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFAyCkE,CAAC"}
@@ -76,7 +76,7 @@ function eventFiles(config) {
76
76
  ];
77
77
  }
78
78
  function httpFiles(config) {
79
- const { http, docsUi, cache } = config.stack;
79
+ const { http, docsUi, cache, representations, forms } = config.stack;
80
80
  const file = (name, variant) => platformFile(config, name, variant);
81
81
  if (http === 'none') {
82
82
  return [];
@@ -86,6 +86,8 @@ function httpFiles(config) {
86
86
  ...when(http === 'nest', [file('http/create-app-module.ts')]),
87
87
  ...when(docsUi !== 'none', [file('http/with-documentation.ts')]),
88
88
  ...when(cache === 'redis', [file('http/refusal-for.ts')]),
89
+ ...when(representations === 'negotiated' || forms === 'on', [file('http/presentation-of.ts')]),
90
+ ...when(forms === 'on', [file('http/with-forms.ts')]),
89
91
  ];
90
92
  }
91
93
  //# sourceMappingURL=platform-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-files.js","sourceRoot":"","sources":["../../../src/init/files/platform-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-files.js","sourceRoot":"","sources":["../../../src/init/files/platform-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,iJAAiJ;AACjJ,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAY,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/F,OAAO;QACL,CAAC,GAAG,MAAM,CAAC,UAAU,UAAU,EAAE,kBAAkB,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC;QAClB,IAAI,CAAC,iBAAiB,CAAC;QACvB,GAAG,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,GAAG,CAC1G,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACrB;QACD,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,iCAAiC,CAAC;QACvC,GAAG,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,CAC9B;QACD,uGAAuG;QACvG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC1E,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3B,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,GAAG,SAAS,CAAC,MAAM,CAAC;QACpB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACtE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9D,GAAG,gBAAgB,CAAC,MAAM,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED,8GAA8G;AAC9G,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAY,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC;QACrC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;QACpC,GAAG,CAAC,MAAM,KAAK,UAAU;YACvB,CAAC,CAAC;gBACE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBACnC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC;gBACrC,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC;aACzC;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,oBAAoB,CAAC,CAAC;AACzF,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;AAErD,4JAA4J;AAC5J,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAY,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAC;IAExD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,6BAA6B,CAAC;QACnC,IAAI,CAAC,2BAA2B,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAY,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/F,OAAO;QACL,IAAI,CAAC,0BAA0B,CAAC;QAChC,IAAI,CAAC,6BAA6B,CAAC;QACnC,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7E,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACjE,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,4BAA4B,CAAC;YAClC,IAAI,CAAC,0CAA0C,CAAC;SACjD,CAAC;QACF,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAY,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/F,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC;QACvC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC7D,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAChE,GAAG,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACzD,GAAG,IAAI,CAAC,eAAe,KAAK,YAAY,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC9F,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC"}
@@ -1,35 +1,35 @@
1
1
  /** Ranges written to the generated package.json; bumped together with the kit. */
2
2
  export const VERSIONS = {
3
- '@ddd-ts-kit/kernel': '^0.13.0',
4
- '@ddd-ts-kit/validation': '^0.13.0',
5
- '@ddd-ts-kit/http': '^0.13.0',
6
- '@ddd-ts-kit/tracing': '^0.13.0',
7
- '@ddd-ts-kit/di': '^0.13.0',
8
- '@ddd-ts-kit/events': '^0.13.0',
9
- '@ddd-ts-kit/testing': '^0.13.0',
10
- '@ddd-ts-kit/drizzle': '^0.13.0',
11
- '@ddd-ts-kit/knex': '^0.13.0',
12
- '@ddd-ts-kit/prisma': '^0.13.0',
13
- '@ddd-ts-kit/typeorm': '^0.13.0',
14
- '@ddd-ts-kit/auth': '^0.13.0',
15
- '@ddd-ts-kit/rabbitmq': '^0.13.0',
16
- '@ddd-ts-kit/aspects': '^0.13.0',
17
- '@ddd-ts-kit/audit': '^0.13.0',
18
- '@ddd-ts-kit/redis': '^0.13.0',
19
- '@ddd-ts-kit/kafka': '^0.13.0',
20
- '@ddd-ts-kit/nats': '^0.13.0',
21
- '@ddd-ts-kit/scheduling': '^0.13.0',
22
- '@ddd-ts-kit/sentry': '^0.13.0',
23
- '@ddd-ts-kit/s3': '^0.13.0',
3
+ '@ddd-ts-kit/kernel': '^0.14.0',
4
+ '@ddd-ts-kit/validation': '^0.14.0',
5
+ '@ddd-ts-kit/http': '^0.14.0',
6
+ '@ddd-ts-kit/tracing': '^0.14.0',
7
+ '@ddd-ts-kit/di': '^0.14.0',
8
+ '@ddd-ts-kit/events': '^0.14.0',
9
+ '@ddd-ts-kit/testing': '^0.14.0',
10
+ '@ddd-ts-kit/drizzle': '^0.14.0',
11
+ '@ddd-ts-kit/knex': '^0.14.0',
12
+ '@ddd-ts-kit/prisma': '^0.14.0',
13
+ '@ddd-ts-kit/typeorm': '^0.14.0',
14
+ '@ddd-ts-kit/auth': '^0.14.0',
15
+ '@ddd-ts-kit/rabbitmq': '^0.14.0',
16
+ '@ddd-ts-kit/aspects': '^0.14.0',
17
+ '@ddd-ts-kit/audit': '^0.14.0',
18
+ '@ddd-ts-kit/redis': '^0.14.0',
19
+ '@ddd-ts-kit/kafka': '^0.14.0',
20
+ '@ddd-ts-kit/nats': '^0.14.0',
21
+ '@ddd-ts-kit/scheduling': '^0.14.0',
22
+ '@ddd-ts-kit/sentry': '^0.14.0',
23
+ '@ddd-ts-kit/s3': '^0.14.0',
24
24
  '@aws-sdk/client-s3': '^3.1150.0',
25
25
  '@aws-sdk/lib-storage': '^3.1150.0',
26
26
  '@aws-sdk/s3-request-presigner': '^3.1150.0',
27
27
  busboy: '^1.6.0',
28
28
  '@sentry/node': '^11.6.0',
29
- '@ddd-ts-kit/pino': '^0.13.0',
29
+ '@ddd-ts-kit/pino': '^0.14.0',
30
30
  pino: '^10.4.0',
31
31
  'pino-pretty': '^13.2.0',
32
- '@ddd-ts-kit/winston': '^0.13.0',
32
+ '@ddd-ts-kit/winston': '^0.14.0',
33
33
  winston: '^3.19.0',
34
34
  '@confluentinc/kafka-javascript': '^1.11.0',
35
35
  '@nats-io/jetstream': '^3.4.0',
@@ -37,7 +37,7 @@ export const VERSIONS = {
37
37
  ioredis: '^6.0.0',
38
38
  jose: '^6.0.0',
39
39
  amqplib: '^2.2.0',
40
- 'ddd-ts-kit': '^0.13.0',
40
+ 'ddd-ts-kit': '^0.14.0',
41
41
  tsx: '^4.23.15',
42
42
  vitest: '^5.0.3',
43
43
  zod: '^4.6.5',