ddd-ts-kit 0.1.0 → 0.1.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 (215) hide show
  1. package/README.md +43 -3
  2. package/dist/affected/changed-paths.d.ts +8 -0
  3. package/dist/affected/changed-paths.d.ts.map +1 -0
  4. package/dist/affected/changed-paths.js +21 -0
  5. package/dist/affected/changed-paths.js.map +1 -0
  6. package/dist/affected/downstreams-of.d.ts +4 -0
  7. package/dist/affected/downstreams-of.d.ts.map +1 -0
  8. package/dist/affected/downstreams-of.js +16 -0
  9. package/dist/affected/downstreams-of.js.map +1 -0
  10. package/dist/affected/everything.d.ts +5 -0
  11. package/dist/affected/everything.d.ts.map +1 -0
  12. package/dist/affected/everything.js +5 -0
  13. package/dist/affected/everything.js.map +1 -0
  14. package/dist/affected/format-selection.d.ts +10 -0
  15. package/dist/affected/format-selection.d.ts.map +1 -0
  16. package/dist/affected/format-selection.js +45 -0
  17. package/dist/affected/format-selection.js.map +1 -0
  18. package/dist/affected/path-reach.d.ts +12 -0
  19. package/dist/affected/path-reach.d.ts.map +1 -0
  20. package/dist/affected/path-reach.js +2 -0
  21. package/dist/affected/path-reach.js.map +1 -0
  22. package/dist/affected/reach-of.d.ts +10 -0
  23. package/dist/affected/reach-of.d.ts.map +1 -0
  24. package/dist/affected/reach-of.js +30 -0
  25. package/dist/affected/reach-of.js.map +1 -0
  26. package/dist/affected/select-affected.d.ts +11 -0
  27. package/dist/affected/select-affected.d.ts.map +1 -0
  28. package/dist/affected/select-affected.js +39 -0
  29. package/dist/affected/select-affected.js.map +1 -0
  30. package/dist/affected/selection.d.ts +14 -0
  31. package/dist/affected/selection.d.ts.map +1 -0
  32. package/dist/affected/selection.js +2 -0
  33. package/dist/affected/selection.js.map +1 -0
  34. package/dist/commands/affected.d.ts +8 -0
  35. package/dist/commands/affected.d.ts.map +1 -0
  36. package/dist/commands/affected.js +38 -0
  37. package/dist/commands/affected.js.map +1 -0
  38. package/dist/commands/docs.d.ts.map +1 -1
  39. package/dist/commands/docs.js +2 -0
  40. package/dist/commands/docs.js.map +1 -1
  41. package/dist/commands/generate.d.ts.map +1 -1
  42. package/dist/commands/generate.js +5 -0
  43. package/dist/commands/generate.js.map +1 -1
  44. package/dist/commands/init.d.ts.map +1 -1
  45. package/dist/commands/init.js +6 -1
  46. package/dist/commands/init.js.map +1 -1
  47. package/dist/config/index.d.ts +1 -1
  48. package/dist/config/index.d.ts.map +1 -1
  49. package/dist/config/index.js +1 -1
  50. package/dist/config/index.js.map +1 -1
  51. package/dist/config/parse-stack.d.ts.map +1 -1
  52. package/dist/config/parse-stack.js +2 -1
  53. package/dist/config/parse-stack.js.map +1 -1
  54. package/dist/config/serialize-config.js +2 -2
  55. package/dist/config/serialize-config.js.map +1 -1
  56. package/dist/config/stack.d.ts +7 -0
  57. package/dist/config/stack.d.ts.map +1 -1
  58. package/dist/config/stack.js +1 -0
  59. package/dist/config/stack.js.map +1 -1
  60. package/dist/depcruise/cruise-configuration.js +3 -1
  61. package/dist/depcruise/cruise-configuration.js.map +1 -1
  62. package/dist/generate/apply-wiring.js +1 -1
  63. package/dist/generate/apply-wiring.js.map +1 -1
  64. package/dist/generate/kinds/adapter-kind.d.ts.map +1 -1
  65. package/dist/generate/kinds/adapter-kind.js +5 -2
  66. package/dist/generate/kinds/adapter-kind.js.map +1 -1
  67. package/dist/generate/kinds/declare-context-entries.d.ts +10 -0
  68. package/dist/generate/kinds/declare-context-entries.d.ts.map +1 -0
  69. package/dist/generate/kinds/declare-context-entries.js +31 -0
  70. package/dist/generate/kinds/declare-context-entries.js.map +1 -0
  71. package/dist/generate/kinds/generate-context.d.ts.map +1 -1
  72. package/dist/generate/kinds/generate-context.js +2 -0
  73. package/dist/generate/kinds/generate-context.js.map +1 -1
  74. package/dist/generate/kinds/import-assembler.d.ts +9 -0
  75. package/dist/generate/kinds/import-assembler.d.ts.map +1 -0
  76. package/dist/generate/kinds/import-assembler.js +29 -0
  77. package/dist/generate/kinds/import-assembler.js.map +1 -0
  78. package/dist/generate/kinds/write-context-files.d.ts.map +1 -1
  79. package/dist/generate/kinds/write-context-files.js +10 -2
  80. package/dist/generate/kinds/write-context-files.js.map +1 -1
  81. package/dist/generate/kinds/write-own-policy.d.ts +9 -0
  82. package/dist/generate/kinds/write-own-policy.d.ts.map +1 -0
  83. package/dist/generate/kinds/write-own-policy.js +13 -0
  84. package/dist/generate/kinds/write-own-policy.js.map +1 -0
  85. package/dist/generate/shared-writes.d.ts.map +1 -1
  86. package/dist/generate/shared-writes.js +6 -0
  87. package/dist/generate/shared-writes.js.map +1 -1
  88. package/dist/generate/stop-ignoring-validation.d.ts +9 -0
  89. package/dist/generate/stop-ignoring-validation.d.ts.map +1 -0
  90. package/dist/generate/stop-ignoring-validation.js +36 -0
  91. package/dist/generate/stop-ignoring-validation.js.map +1 -0
  92. package/dist/init/files/architecture-files.d.ts +9 -0
  93. package/dist/init/files/architecture-files.d.ts.map +1 -0
  94. package/dist/init/files/architecture-files.js +10 -0
  95. package/dist/init/files/architecture-files.js.map +1 -0
  96. package/dist/init/files/init-files.d.ts.map +1 -1
  97. package/dist/init/files/init-files.js +2 -0
  98. package/dist/init/files/init-files.js.map +1 -1
  99. package/dist/init/files/persistence-files.d.ts.map +1 -1
  100. package/dist/init/files/persistence-files.js +5 -1
  101. package/dist/init/files/persistence-files.js.map +1 -1
  102. package/dist/init/files/pipeline-files.d.ts.map +1 -1
  103. package/dist/init/files/pipeline-files.js +5 -1
  104. package/dist/init/files/pipeline-files.js.map +1 -1
  105. package/dist/init/files/platform-files.d.ts.map +1 -1
  106. package/dist/init/files/platform-files.js +3 -1
  107. package/dist/init/files/platform-files.js.map +1 -1
  108. package/dist/init/files/project-files.d.ts.map +1 -1
  109. package/dist/init/files/project-files.js +3 -1
  110. package/dist/init/files/project-files.js.map +1 -1
  111. package/dist/init/knip-vars.d.ts +3 -3
  112. package/dist/init/knip-vars.d.ts.map +1 -1
  113. package/dist/init/knip-vars.js +27 -5
  114. package/dist/init/knip-vars.js.map +1 -1
  115. package/dist/init/manifest/documentation-scripts.d.ts.map +1 -1
  116. package/dist/init/manifest/documentation-scripts.js +2 -0
  117. package/dist/init/manifest/documentation-scripts.js.map +1 -1
  118. package/dist/init/manifest/scripts-for.d.ts +5 -1
  119. package/dist/init/manifest/scripts-for.d.ts.map +1 -1
  120. package/dist/init/manifest/scripts-for.js +10 -1
  121. package/dist/init/manifest/scripts-for.js.map +1 -1
  122. package/dist/init/manifest/versions.js +23 -23
  123. package/dist/init/manifest/write-manifest.d.ts.map +1 -1
  124. package/dist/init/manifest/write-manifest.js +18 -1
  125. package/dist/init/manifest/write-manifest.js.map +1 -1
  126. package/dist/init/run-init.d.ts.map +1 -1
  127. package/dist/init/run-init.js +24 -4
  128. package/dist/init/run-init.js.map +1 -1
  129. package/dist/init/stack/resolve-stack.d.ts.map +1 -1
  130. package/dist/init/stack/resolve-stack.js +3 -1
  131. package/dist/init/stack/resolve-stack.js.map +1 -1
  132. package/dist/init/stack/stack-options.d.ts +1 -0
  133. package/dist/init/stack/stack-options.d.ts.map +1 -1
  134. package/dist/init/template-vars.d.ts.map +1 -1
  135. package/dist/init/template-vars.js +2 -0
  136. package/dist/init/template-vars.js.map +1 -1
  137. package/dist/init/validation-dependencies.d.ts +10 -0
  138. package/dist/init/validation-dependencies.d.ts.map +1 -0
  139. package/dist/init/validation-dependencies.js +23 -0
  140. package/dist/init/validation-dependencies.js.map +1 -0
  141. package/dist/init/write-contracts.d.ts +10 -0
  142. package/dist/init/write-contracts.d.ts.map +1 -0
  143. package/dist/init/write-contracts.js +33 -0
  144. package/dist/init/write-contracts.js.map +1 -0
  145. package/dist/package-manager/default-package-manager.d.ts +8 -0
  146. package/dist/package-manager/default-package-manager.d.ts.map +1 -0
  147. package/dist/package-manager/default-package-manager.js +7 -0
  148. package/dist/package-manager/default-package-manager.js.map +1 -0
  149. package/dist/package-manager/dialect.d.ts +3 -0
  150. package/dist/package-manager/dialect.d.ts.map +1 -0
  151. package/dist/package-manager/dialect.js +2 -0
  152. package/dist/package-manager/dialect.js.map +1 -0
  153. package/dist/package-manager/dialects.d.ts +5 -0
  154. package/dist/package-manager/dialects.d.ts.map +1 -0
  155. package/dist/package-manager/dialects.js +21 -0
  156. package/dist/package-manager/dialects.js.map +1 -0
  157. package/dist/package-manager/in-dialect.d.ts +8 -0
  158. package/dist/package-manager/in-dialect.d.ts.map +1 -0
  159. package/dist/package-manager/in-dialect.js +10 -0
  160. package/dist/package-manager/in-dialect.js.map +1 -0
  161. package/dist/package-manager/lockfiles.d.ts +4 -0
  162. package/dist/package-manager/lockfiles.d.ts.map +1 -0
  163. package/dist/package-manager/lockfiles.js +6 -0
  164. package/dist/package-manager/lockfiles.js.map +1 -0
  165. package/dist/package-manager/package-manager-of.d.ts +4 -0
  166. package/dist/package-manager/package-manager-of.d.ts.map +1 -0
  167. package/dist/package-manager/package-manager-of.js +15 -0
  168. package/dist/package-manager/package-manager-of.js.map +1 -0
  169. package/dist/package-manager/package-manager-vars.d.ts +5 -0
  170. package/dist/package-manager/package-manager-vars.d.ts.map +1 -0
  171. package/dist/package-manager/package-manager-vars.js +13 -0
  172. package/dist/package-manager/package-manager-vars.js.map +1 -0
  173. package/dist/package-manager/pinned-package-managers.d.ts +7 -0
  174. package/dist/package-manager/pinned-package-managers.d.ts.map +1 -0
  175. package/dist/package-manager/pinned-package-managers.js +9 -0
  176. package/dist/package-manager/pinned-package-managers.js.map +1 -0
  177. package/dist/run.d.ts.map +1 -1
  178. package/dist/run.js +8 -2
  179. package/dist/run.js.map +1 -1
  180. package/dist/templating/render.d.ts.map +1 -1
  181. package/dist/templating/render.js +2 -1
  182. package/dist/templating/render.js.map +1 -1
  183. package/dist/templating/rendering.js +1 -1
  184. package/dist/templating/rendering.js.map +1 -1
  185. package/dist/version.d.ts +1 -1
  186. package/dist/version.js +1 -1
  187. package/dist/workspace/workspace.d.ts +5 -1
  188. package/dist/workspace/workspace.d.ts.map +1 -1
  189. package/dist/workspace/workspace.js +13 -3
  190. package/dist/workspace/workspace.js.map +1 -1
  191. package/package.json +2 -2
  192. package/templates/architecture/extractable.declared.spec.ts.tpl +6 -6
  193. package/templates/architecture/extractable.manual.spec.ts.tpl +4 -0
  194. package/templates/architecture/extractable.tsyringe.spec.ts.tpl +6 -0
  195. package/templates/docs/asyncapi.json.tpl +12 -0
  196. package/templates/docs/event-catalog.md +3 -0
  197. package/templates/docs/openapi.json.tpl +354 -0
  198. package/templates/init/README.md.tpl +1 -0
  199. package/templates/init/docker/Dockerfile.tpl +9 -2
  200. package/templates/init/jest.config.js.tpl +3 -1
  201. package/templates/init/platform/compose-application.tsyringe.ts.tpl +0 -6
  202. package/templates/init/platform/database/journal.drizzle.json +5 -0
  203. package/templates/init/pnpm-workspace.yaml +8 -0
  204. package/templates/init/rules/infrastructure.md.tpl +2 -2
  205. package/templates/init/scripts/events.ts.tpl +1 -1
  206. package/templates/init/scripts/openapi.ts.tpl +1 -1
  207. package/templates/pipeline/biome.json.tpl +2 -1
  208. package/templates/pipeline/github/actions/setup/action.yml.tpl +37 -0
  209. package/templates/pipeline/github/scripts/start-postgres.sh +47 -0
  210. package/templates/pipeline/github/workflows/ci.yml +68 -110
  211. package/templates/pipeline/github/workflows/pr-title.yml +1 -5
  212. package/templates/pipeline/gitlab/{gitlab-ci.yml → gitlab-ci.yml.tpl} +59 -31
  213. package/templates/pipeline/knip.json.tpl +9 -10
  214. package/templates/pipeline/package-scripts.json +1 -1
  215. package/templates/pipeline/vitest.config.ts.tpl +7 -3
@@ -19,5 +19,5 @@ export { REFERENCE_COVERAGE } from './reference-coverage.js';
19
19
  export { RELATIONSHIPS } from './relationships.js';
20
20
  export { serializeConfig } from './serialize-config.js';
21
21
  export { SEVERITIES, type Severity } from './severities.js';
22
- export { ASSEMBLIES, AUDIT_MODES, AUTHN_STACKS, AUTHZ_STACKS, BROKER_STACKS, CACHE_STACKS, CI_PLATFORMS, DATABASE_STACKS, DI_STACKS, DOCS_UIS, ERROR_REPORTERS, HTTP_STACKS, LOGGERS, ORM_STACKS, STYLES, TEST_STACKS, VALIDATION_STACKS, type OrmStack, type Stack, } from './stack.js';
22
+ export { ASSEMBLIES, AUDIT_MODES, AUTHN_STACKS, AUTHZ_STACKS, BROKER_STACKS, CACHE_STACKS, CI_PLATFORMS, DATABASE_STACKS, DI_STACKS, DOCS_UIS, ERROR_REPORTERS, HTTP_STACKS, LOGGERS, ORM_STACKS, PACKAGE_MANAGERS, STYLES, TEST_STACKS, VALIDATION_STACKS, type OrmStack, type Stack, } from './stack.js';
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,eAAe,EACf,WAAW,EACX,OAAO,EACP,UAAU,EACV,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,KAAK,QAAQ,EACb,KAAK,KAAK,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,eAAe,EACf,WAAW,EACX,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,KAAK,QAAQ,EACb,KAAK,KAAK,GACX,MAAM,YAAY,CAAC"}
@@ -17,5 +17,5 @@ export { REFERENCE_COVERAGE } from './reference-coverage.js';
17
17
  export { RELATIONSHIPS } from './relationships.js';
18
18
  export { serializeConfig } from './serialize-config.js';
19
19
  export { SEVERITIES } from './severities.js';
20
- export { ASSEMBLIES, AUDIT_MODES, AUTHN_STACKS, AUTHZ_STACKS, BROKER_STACKS, CACHE_STACKS, CI_PLATFORMS, DATABASE_STACKS, DI_STACKS, DOCS_UIS, ERROR_REPORTERS, HTTP_STACKS, LOGGERS, ORM_STACKS, STYLES, TEST_STACKS, VALIDATION_STACKS, } from './stack.js';
20
+ export { ASSEMBLIES, AUDIT_MODES, AUTHN_STACKS, AUTHZ_STACKS, BROKER_STACKS, CACHE_STACKS, CI_PLATFORMS, DATABASE_STACKS, DI_STACKS, DOCS_UIS, ERROR_REPORTERS, HTTP_STACKS, LOGGERS, ORM_STACKS, PACKAGE_MANAGERS, STYLES, TEST_STACKS, VALIDATION_STACKS, } from './stack.js';
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,eAAe,EACf,WAAW,EACX,OAAO,EACP,UAAU,EACV,MAAM,EACN,WAAW,EACX,iBAAiB,GAGlB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,eAAe,EACf,WAAW,EACX,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,iBAAiB,GAGlB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-stack.d.ts","sourceRoot":"","sources":["../../src/config/parse-stack.ts"],"names":[],"mappings":"AAGA,OAAO,EAmBL,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAIpB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAkBhE"}
1
+ {"version":3,"file":"parse-stack.d.ts","sourceRoot":"","sources":["../../src/config/parse-stack.ts"],"names":[],"mappings":"AAGA,OAAO,EAoBL,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAIpB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAmBhE"}
@@ -1,7 +1,7 @@
1
1
  import { CliError } from '../cli-error.js';
2
2
  import { CONFIG_FILE } from './config-file.js';
3
3
  import { isOneOf } from './is-one-of.js';
4
- import { ASSEMBLIES, AUDIT_MODES, AUTHN_STACKS, AUTHZ_STACKS, BROKER_STACKS, CACHE_STACKS, CI_PLATFORMS, DATABASE_STACKS, DI_STACKS, DOCS_UIS, ERROR_REPORTERS, EVENT_STACKS, HTTP_STACKS, LOGGERS, ORM_STACKS, STYLES, TEST_STACKS, VALIDATION_STACKS, } from './stack.js';
4
+ import { ASSEMBLIES, AUDIT_MODES, AUTHN_STACKS, AUTHZ_STACKS, BROKER_STACKS, CACHE_STACKS, CI_PLATFORMS, DATABASE_STACKS, DI_STACKS, DOCS_UIS, ERROR_REPORTERS, EVENT_STACKS, HTTP_STACKS, LOGGERS, ORM_STACKS, PACKAGE_MANAGERS, STYLES, TEST_STACKS, VALIDATION_STACKS, } from './stack.js';
5
5
  export function parseStack(stack) {
6
6
  const choose = (key, values, fallback) => pick(values, stack[key], { fallback, key: `stack.${key}` });
7
7
  const http = choose('http', HTTP_STACKS, 'express');
@@ -18,6 +18,7 @@ export function parseStack(stack) {
18
18
  docsUi: choose('docsUi', DOCS_UIS, http === 'none' ? 'none' : 'swagger'),
19
19
  ci: choose('ci', CI_PLATFORMS, 'github'),
20
20
  ...parseChoices(choose, orm),
21
+ packageManager: choose('packageManager', PACKAGE_MANAGERS, 'npm'),
21
22
  };
22
23
  }
23
24
  function parseChoices(choose, orm) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-stack.js","sourceRoot":"","sources":["../../src/config/parse-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-stack.js","sourceRoot":"","sources":["../../src/config/parse-stack.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ function optionalKeys(config) {
44
44
  }
45
45
  /** The assembly is a choice of the declared style only: an explicit project has a module file and nothing to assemble. */
46
46
  function writtenStack(stack) {
47
- const { assembly, ...rest } = stack;
48
- return stack.style === 'declared' ? { ...rest, assembly } : rest;
47
+ const { assembly, packageManager, ...rest } = stack;
48
+ return stack.style === 'declared' ? { ...rest, assembly, packageManager } : { ...rest, packageManager };
49
49
  }
50
50
  //# sourceMappingURL=serialize-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-config.js","sourceRoot":"","sources":["../../src/config/serialize-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize-config.js","sourceRoot":"","sources":["../../src/config/serialize-config.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare const CACHE_STACKS: readonly ['none', 'redis'];
16
16
  export declare const AUDIT_MODES: readonly ['on', 'off'];
17
17
  export declare const ERROR_REPORTERS: readonly ['none', 'sentry'];
18
18
  export declare const LOGGERS: readonly ['stdout', 'pino', 'winston'];
19
+ export declare const PACKAGE_MANAGERS: readonly ['npm', 'pnpm'];
19
20
  export type ValidationStack = (typeof VALIDATION_STACKS)[number];
20
21
  export type OrmStack = (typeof ORM_STACKS)[number];
21
22
  export interface Stack {
@@ -53,5 +54,11 @@ export interface Stack {
53
54
  readonly style: (typeof STYLES)[number];
54
55
  /** How a declared context reaches the composition root: one generated barrel, or discovery of its role files at startup. */
55
56
  readonly assembly: (typeof ASSEMBLIES)[number];
57
+ /**
58
+ * What installs the dependencies and runs the scripts: every command the CLI writes (scripts,
59
+ * pipelines, hooks, Dockerfile, guidance) is in its dialect. A config that says nothing was
60
+ * written before the choice existed: it is npm.
61
+ */
62
+ readonly packageManager: (typeof PACKAGE_MANAGERS)[number];
56
63
  }
57
64
  //# sourceMappingURL=stack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/config/stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/config/stack.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,5 @@ export const CACHE_STACKS = ['none', 'redis'];
16
16
  export const AUDIT_MODES = ['on', 'off'];
17
17
  export const ERROR_REPORTERS = ['none', 'sentry'];
18
18
  export const LOGGERS = ['stdout', 'pino', 'winston'];
19
+ export const PACKAGE_MANAGERS = ['npm', 'pnpm'];
19
20
  //# sourceMappingURL=stack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/config/stack.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAU,CAAC;AAChG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC9F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAC3F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAC;AACvD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAC/F,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,CAAU,CAAC;AACvD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAC3D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC"}
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/config/stack.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAU,CAAC;AAChG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC9F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAC3F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAC;AACvD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAC/F,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,CAAU,CAAC;AACvD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAC3D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC"}
@@ -17,11 +17,13 @@ export function cruiseConfiguration(config) {
17
17
  * its tools next to the native compiler: it tells type-only imports apart. An import alias is
18
18
  * resolved from the `paths` of tsconfig.json, which name the sources: without `tsConfig` the
19
19
  * graph would hold an unresolved module for each alias and no boundary rule would see the import.
20
+ * A `generated` directory (the client Prisma writes) is a build product: an import of it is in
21
+ * the graph, what it imports in turn is not the project's to answer for.
20
22
  */
21
23
  function cruiseOptions() {
22
24
  return {
23
25
  parser: 'tsc',
24
- doNotFollow: { path: ['node_modules'] },
26
+ doNotFollow: { path: ['node_modules', '^generated/'] },
25
27
  exclude: { path: ['^dist/', '^coverage/'] },
26
28
  tsPreCompilationDeps: true,
27
29
  tsConfig: { fileName: 'tsconfig.json' },
@@ -1 +1 @@
1
- {"version":3,"file":"cruise-configuration.js","sourceRoot":"","sources":["../../src/depcruise/cruise-configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO,EAAE,aAAa,EAAE;KACzB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa;IACpB,OAAO;QACL,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE;QACvC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;QAC3C,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;QACvC,sBAAsB,EAAE;YACtB,aAAa,EAAE,CAAC,SAAS,CAAC;YAC1B,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;YACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;SACnD;QACD,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE;KACtD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cruise-configuration.js","sourceRoot":"","sources":["../../src/depcruise/cruise-configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO,EAAE,aAAa,EAAE;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa;IACpB,OAAO;QACL,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE;QACtD,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;QAC3C,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;QACvC,sBAAsB,EAAE;YACtB,aAAa,EAAE,CAAC,SAAS,CAAC;YAC1B,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;YACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;SACnD;QACD,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE;KACtD,CAAC;AACJ,CAAC"}
@@ -7,7 +7,7 @@ export function applyWiring(ws, file, wiring) {
7
7
  return;
8
8
  }
9
9
  let content = original;
10
- for (const [region, block] of parseWiring(wiring)) {
10
+ for (const [region, block] of parseWiring(ws.spoken(wiring))) {
11
11
  if (block.trim() === '') {
12
12
  continue;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"apply-wiring.js","sourceRoot":"","sources":["../../src/generate/apply-wiring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlE,wEAAwE;AACxE,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,IAAY,EAAE,MAAc;IACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,gDAAgD,CAAC,CAAC;QAEjE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC;IAEvB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAEpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,uBAAuB,MAAM,gCAAgC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"apply-wiring.js","sourceRoot":"","sources":["../../src/generate/apply-wiring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlE,wEAAwE;AACxE,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,IAAY,EAAE,MAAc;IACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,gDAAgD,CAAC,CAAC;QAEjE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC;IAEvB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAEpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,uBAAuB,MAAM,gCAAgC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-kind.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/adapter-kind.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAWvC,eAAO,MAAM,WAAW,EAAE,IAiCzB,CAAC"}
1
+ {"version":3,"file":"adapter-kind.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/adapter-kind.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAYvC,eAAO,MAAM,WAAW,EAAE,IAiCzB,CAAC"}
@@ -8,6 +8,7 @@ import { openScope } from '../open-scope.js';
8
8
  import { requireFile } from '../require-file.js';
9
9
  import { vars } from '../vars.js';
10
10
  import { wire } from '../wire.js';
11
+ import { writeOwnPolicy } from './write-own-policy.js';
11
12
  const ADAPTER_KINDS = ['external', 'gateway'];
12
13
  export const adapterKind = {
13
14
  name: 'adapter',
@@ -15,7 +16,7 @@ export const adapterKind = {
15
16
  usage: 'adapter <context> <Port> [--kind external|gateway] [--decorators]',
16
17
  summary: 'An infrastructure adapter of an existing port towards an outside system, its spec and its registration with a retry and timeout policy; with --decorators its outbound method carries the policy itself.',
17
18
  positionals: ['context', 'Port'],
18
- writesShared: false,
19
+ writesShared: true,
19
20
  run: (request) => {
20
21
  const scope = openScope(request);
21
22
  const name = label(scope, request.args[1] ?? '', { what: 'port', strip: ['port'] });
@@ -71,12 +72,13 @@ function refuseSecondAdapter(scope, name) {
71
72
  /**
72
73
  * A declared adapter binds itself. Otherwise it is bound by the generator where the module
73
74
  * declares its bindings, and said in a note where the wiring is by hand or the port already has
74
- * an adapter.
75
+ * an adapter. The first adapter that names `ownPolicy` brings the helper to the platform.
75
76
  */
76
77
  function register(scope, context, { port, kind, decorated }) {
77
78
  const module = `${scope.context.kebab}.module.ts`;
78
79
  const about = `{ kind: '${kind}', context: '${scope.context.kebab}' }`;
79
80
  if (isDeclared(scope.config)) {
81
+ writeOwnPolicy(scope, context);
80
82
  return;
81
83
  }
82
84
  if (isBound(scope, port)) {
@@ -84,6 +86,7 @@ function register(scope, context, { port, kind, decorated }) {
84
86
  }
85
87
  else if (scope.config.stack.di === 'tsyringe') {
86
88
  wire(scope, 'adapter', context);
89
+ writeOwnPolicy(scope, context);
87
90
  }
88
91
  else {
89
92
  const wrapped = decorated
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-kind.js","sourceRoot":"","sources":["../../../src/generate/kinds/adapter-kind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-kind.js","sourceRoot":"","sources":["../../../src/generate/kinds/adapter-kind.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Config } from '../../config/index.js';
2
+ import type { Workspace } from '../../workspace/index.js';
3
+ /**
4
+ * What knip enters a context by, told to it with the first context: before one exists the
5
+ * patterns match nothing, which knip reports. A module file where the wiring is written; under
6
+ * discovery the role files nothing imports (handlers, publishers, jobs, adapters...), in one
7
+ * pattern with the published language, which every context has from its first minute.
8
+ */
9
+ export declare function declareContextEntries(ws: Workspace, config: Config): void;
10
+ //# sourceMappingURL=declare-context-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declare-context-entries.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/declare-context-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAO1D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAYzE"}
@@ -0,0 +1,31 @@
1
+ import { DISCOVERED_SUFFIXES } from '../../declared/index.js';
2
+ import { isDeclared } from '../is-declared.js';
3
+ import { editJson } from './extraction/edit-json.js';
4
+ const KNIP_FILE = 'knip.json';
5
+ const PUBLISHED_LANGUAGE = 'published-language/index';
6
+ /**
7
+ * What knip enters a context by, told to it with the first context: before one exists the
8
+ * patterns match nothing, which knip reports. A module file where the wiring is written; under
9
+ * discovery the role files nothing imports (handlers, publishers, jobs, adapters...), in one
10
+ * pattern with the published language, which every context has from its first minute.
11
+ */
12
+ export function declareContextEntries(ws, config) {
13
+ if (ws.read(KNIP_FILE) === undefined) {
14
+ return;
15
+ }
16
+ editJson(ws, KNIP_FILE, (knip) => {
17
+ const entries = Array.isArray(knip['entry']) ? knip['entry'] : [];
18
+ if (!entries.some((entry) => typeof entry === 'string' && entry.includes(PUBLISHED_LANGUAGE))) {
19
+ knip['entry'] = [...contextEntries(config), ...entries];
20
+ }
21
+ });
22
+ }
23
+ function contextEntries(config) {
24
+ const contexts = `${config.contextsDir}/*`;
25
+ if (config.stack.assembly === 'discovery' && isDeclared(config)) {
26
+ const roles = `{application,infrastructure}/**/*.{${DISCOVERED_SUFFIXES.join(',')}}`;
27
+ return [`${contexts}/{${PUBLISHED_LANGUAGE},${roles}}.ts`];
28
+ }
29
+ return [...(isDeclared(config) ? [] : [`${contexts}/*.module.ts`]), `${contexts}/${PUBLISHED_LANGUAGE}.ts`];
30
+ }
31
+ //# sourceMappingURL=declare-context-entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declare-context-entries.js","sourceRoot":"","sources":["../../../src/generate/kinds/declare-context-entries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAa,EAAE,MAAc;IACjE,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAc,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC;IAE3C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,sCAAsC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAErF,OAAO,CAAC,GAAG,QAAQ,KAAK,kBAAkB,IAAI,KAAK,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,cAAc,CAAC,CAAC,EAAE,GAAG,QAAQ,IAAI,kBAAkB,KAAK,CAAC,CAAC;AAC9G,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-context.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/generate-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,MAAM,EAEZ,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAwB9F"}
1
+ {"version":3,"file":"generate-context.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/generate-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,MAAM,EAEZ,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAyB9F"}
@@ -2,6 +2,7 @@ import { addContextToConfigText, CLASSIFICATIONS, CONFIG_FILE, isOneOf, } from '
2
2
  import { refreshContextDoc } from '../../docs/refresh-context-doc.js';
3
3
  import { CliError } from '../../cli-error.js';
4
4
  import { parseContextName } from '../../naming/index.js';
5
+ import { declareContextEntries } from './declare-context-entries.js';
5
6
  import { writeContextFiles } from './write-context-files.js';
6
7
  /** Shared by `generate context` and `init`, so both create exactly the same context. */
7
8
  export function generateContext(ws, config, request) {
@@ -15,6 +16,7 @@ export function generateContext(ws, config, request) {
15
16
  declareInConfig(ws, context, entry);
16
17
  }
17
18
  writeContextFiles(ws, { config: next, context, request });
19
+ declareContextEntries(ws, next);
18
20
  // An upstream gains a downstream line in its own CONTEXT.md.
19
21
  for (const upstream of entry.upstreams) {
20
22
  refreshContextDoc(ws, next, upstream.context);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-context.js","sourceRoot":"","sources":["../../../src/generate/kinds/generate-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-context.js","sourceRoot":"","sources":["../../../src/generate/kinds/generate-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Config } from '../../config/index.js';
2
+ import type { Workspace } from '../../workspace/index.js';
3
+ /**
4
+ * What turns the declarations of a context into its module (`contextModule`, or `discoverContext`
5
+ * under discovery) is imported by the file that assembles the contexts with the first of them:
6
+ * before it nothing names the function, and the linter reports an import nobody uses.
7
+ */
8
+ export declare function importAssembler(ws: Workspace, config: Config, file: string): void;
9
+ //# sourceMappingURL=import-assembler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-assembler.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/import-assembler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAM1D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAgBjF"}
@@ -0,0 +1,29 @@
1
+ import { applyWiring } from '../apply-wiring.js';
2
+ const DI = '@ddd-ts-kit/di';
3
+ const DI_IMPORT = /import \{(\s*)([^}]*)\} from '@ddd-ts-kit\/di';\n/;
4
+ /**
5
+ * What turns the declarations of a context into its module (`contextModule`, or `discoverContext`
6
+ * under discovery) is imported by the file that assembles the contexts with the first of them:
7
+ * before it nothing names the function, and the linter reports an import nobody uses.
8
+ */
9
+ export function importAssembler(ws, config, file) {
10
+ const content = ws.read(file);
11
+ const discovered = config.stack.assembly === 'discovery';
12
+ const name = discovered ? 'discoverContext' : 'contextModule';
13
+ if (content === undefined || new RegExp(`\\b${name}\\b`).test(content)) {
14
+ return;
15
+ }
16
+ if (!DI_IMPORT.test(content)) {
17
+ applyWiring(ws, file, `@@imports\nimport { ${name} } from '${discovered ? `${DI}/discovery` : DI}';\n`);
18
+ return;
19
+ }
20
+ ws.update(file, discovered ? followedByDiscovery(content) : namedFirst(content, name));
21
+ }
22
+ /** The name joins the statement that already imports from the package, first, on a line of its own when the others are. */
23
+ function namedFirst(content, name) {
24
+ return content.replace(DI_IMPORT, (_statement, gap, names) => `import {${gap}${name},${gap}${names}} from '${DI}';\n`);
25
+ }
26
+ function followedByDiscovery(content) {
27
+ return content.replace(DI_IMPORT, (statement) => `${statement}import { discoverContext } from '${DI}/discovery';\n`);
28
+ }
29
+ //# sourceMappingURL=import-assembler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-assembler.js","sourceRoot":"","sources":["../../../src/generate/kinds/import-assembler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAC5B,MAAM,SAAS,GAAG,mDAAmD,CAAC;AAEtE;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,EAAa,EAAE,MAAc,EAAE,IAAY;IACzE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC;IACzD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC;IAE9D,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO;IACT,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,uBAAuB,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAExG,OAAO;IACT,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,2HAA2H;AAC3H,SAAS,UAAU,CAAC,OAAe,EAAE,IAAY;IAC/C,OAAO,OAAO,CAAC,OAAO,CACpB,SAAS,EACT,CAAC,UAAU,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,WAAW,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,KAAK,WAAW,EAAE,MAAM,CACpG,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,OAAO,CAAC,OAAO,CACpB,SAAS,EACT,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,SAAS,oCAAoC,EAAE,gBAAgB,CAC1F,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"write-context-files.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/write-context-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAO1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAW3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED,8GAA8G;AAC9G,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAiBxE"}
1
+ {"version":3,"file":"write-context-files.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/write-context-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAO1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAY3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED,8GAA8G;AAC9G,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAyBxE"}
@@ -6,6 +6,7 @@ import { contextVars } from '../context-vars.js';
6
6
  import { permissionsFile } from '../permissions-file.js';
7
7
  import { relativeTo } from '../relative-to.js';
8
8
  import { wiringFamily } from '../wiring-family.js';
9
+ import { importAssembler } from './import-assembler.js';
9
10
  const GLOSSARY_TODO = 'TODO(domain): define the ubiquitous language first: one row per term the domain experts use here, with the meaning it has in this context only. Every class, method and event is then named after these terms.';
10
11
  const PURPOSE_TODO = 'TODO(domain): say in two sentences which business capability this context owns and for whom; the first sentence is reused in the context map.';
11
12
  const PROOF = 'test/architecture/extractable.spec.ts';
@@ -23,8 +24,15 @@ export function writeContextFiles(ws, plan) {
23
24
  if (!ws.exists(PROOF)) {
24
25
  ws.create(PROOF, renderTemplate(`architecture/extractable.${family}.spec.ts.tpl`, vars));
25
26
  }
26
- applyWiring(ws, PROOF, renderTemplate(`architecture/wiring.${family}.tpl`, vars));
27
- applyWiring(ws, `${config.platformDir}/${COMPOSITION}`, renderTemplate(`context/wiring.${family}.tpl`, vars));
27
+ for (const [file, wiring] of [
28
+ [PROOF, `architecture/wiring.${family}.tpl`],
29
+ [`${config.platformDir}/${COMPOSITION}`, `context/wiring.${family}.tpl`],
30
+ ]) {
31
+ if (family === 'declared') {
32
+ importAssembler(ws, config, file);
33
+ }
34
+ applyWiring(ws, file, renderTemplate(wiring, vars));
35
+ }
28
36
  }
29
37
  function planVars({ config, context, request }) {
30
38
  const terms = request.terms ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"write-context-files.js","sourceRoot":"","sources":["../../../src/generate/kinds/write-context-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-context-files.js","sourceRoot":"","sources":["../../../src/generate/kinds/write-context-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { RenderContext } from '../../templating/index.js';
2
+ import type { Scope } from '../scope.js';
3
+ /**
4
+ * The helper an adapter states its own policy with joins the platform with the first adapter
5
+ * that names it: a project without one would hold a file nothing imports, which its dead-code
6
+ * gate reports. Wired by hand, the platform itself uses the helper, and `init` wrote it.
7
+ */
8
+ export declare function writeOwnPolicy(scope: Scope, context: RenderContext): void;
9
+ //# sourceMappingURL=write-own-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-own-policy.d.ts","sourceRoot":"","sources":["../../../src/generate/kinds/write-own-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAMzE"}
@@ -0,0 +1,13 @@
1
+ import { renderTemplate } from '../../templating/index.js';
2
+ /**
3
+ * The helper an adapter states its own policy with joins the platform with the first adapter
4
+ * that names it: a project without one would hold a file nothing imports, which its dead-code
5
+ * gate reports. Wired by hand, the platform itself uses the helper, and `init` wrote it.
6
+ */
7
+ export function writeOwnPolicy(scope, context) {
8
+ const file = `${scope.config.platformDir}/resilience/own-policy.ts`;
9
+ if (!scope.ws.exists(file)) {
10
+ scope.ws.create(file, renderTemplate('init/platform/resilience/own-policy.ts.tpl', context));
11
+ }
12
+ }
13
+ //# sourceMappingURL=write-own-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-own-policy.js","sourceRoot":"","sources":["../../../src/generate/kinds/write-own-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY,EAAE,OAAsB;IACjE,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,2BAA2B,CAAC;IAEpE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,4CAA4C,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared-writes.d.ts","sourceRoot":"","sources":["../../src/generate/shared-writes.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAOD,uJAAuJ;AACvJ,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAqD/D,CAAC"}
1
+ {"version":3,"file":"shared-writes.d.ts","sourceRoot":"","sources":["../../src/generate/shared-writes.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAOD,uJAAuJ;AACvJ,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CA2D/D,CAAC"}
@@ -11,6 +11,7 @@ export const SHARED_WRITES = {
11
11
  'the CONTEXT.md of each upstream',
12
12
  'docs/context-map.md',
13
13
  '.dependency-cruiser.cjs',
14
+ 'knip.json (the first context)',
14
15
  ],
15
16
  },
16
17
  repository: { files: STORAGE, when: STORED },
@@ -23,6 +24,11 @@ export const SHARED_WRITES = {
23
24
  files: ['the audited events registry (<platformDir>/audit/audited-events.ts)', 'docs/context-map.md'],
24
25
  when: 'the audit trail is wired, or the event type is new',
25
26
  },
27
+ adapter: {
28
+ files: ['<platformDir>/resilience/own-policy.ts'],
29
+ when: 'the adapter is the first of a project wired on tsyringe to state its own policy (the helper joins the platform)',
30
+ worker: 'once the project has its first adapter',
31
+ },
26
32
  job: { files: ['<platformDir>/job-settings.ts', 'the grant of its system actor (<platformDir>/auth/)'] },
27
33
  policy: {
28
34
  files: ['the access policies registry (<platformDir>/auth/access-policies.ts)'],
@@ -1 +1 @@
1
- {"version":3,"file":"shared-writes.js","sourceRoot":"","sources":["../../src/generate/shared-writes.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,GAAG,CAAC,qEAAqE,EAAE,sBAAsB,CAAC,CAAC;AAEhH,MAAM,MAAM,GACV,6LAA6L,CAAC;AAEhM,uJAAuJ;AACvJ,MAAM,CAAC,MAAM,aAAa,GAA0C;IAClE,OAAO,EAAE;QACP,KAAK,EAAE;YACL,wBAAwB;YACxB,6DAA6D;YAC7D,uCAAuC;YACvC,8DAA8D;YAC9D,iCAAiC;YACjC,qBAAqB;YACrB,yBAAyB;SAC1B;KACF;IACD,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5C,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,+FAA+F,MAAM,EAAE;QAC7G,MAAM,EAAE,yCAAyC;KAClD;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,CAAC,qEAAqE,EAAE,qBAAqB,CAAC;QACrG,IAAI,EAAE,oDAAoD;KAC3D;IACD,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,+BAA+B,EAAE,qDAAqD,CAAC,EAAE;IACxG,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,sEAAsE,CAAC;QAC/E,IAAI,EAAE,yBAAyB;KAChC;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,2EAA2E;YAC3E,+EAA+E;SAChF;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,qCAAqC;YACrC,cAAc;YACd,WAAW;YACX,wBAAwB;YACxB,oBAAoB;YACpB,qBAAqB;SACtB;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE;YACL,kCAAkC;YAClC,cAAc;YACd,wBAAwB;YACxB,oBAAoB;YACpB,qCAAqC;SACtC;KACF;IACD,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,2CAA2C,CAAC,EAAE;CAC3E,CAAC"}
1
+ {"version":3,"file":"shared-writes.js","sourceRoot":"","sources":["../../src/generate/shared-writes.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,GAAG,CAAC,qEAAqE,EAAE,sBAAsB,CAAC,CAAC;AAEhH,MAAM,MAAM,GACV,6LAA6L,CAAC;AAEhM,uJAAuJ;AACvJ,MAAM,CAAC,MAAM,aAAa,GAA0C;IAClE,OAAO,EAAE;QACP,KAAK,EAAE;YACL,wBAAwB;YACxB,6DAA6D;YAC7D,uCAAuC;YACvC,8DAA8D;YAC9D,iCAAiC;YACjC,qBAAqB;YACrB,yBAAyB;YACzB,+BAA+B;SAChC;KACF;IACD,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5C,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,+FAA+F,MAAM,EAAE;QAC7G,MAAM,EAAE,yCAAyC;KAClD;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,CAAC,qEAAqE,EAAE,qBAAqB,CAAC;QACrG,IAAI,EAAE,oDAAoD;KAC3D;IACD,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,wCAAwC,CAAC;QACjD,IAAI,EAAE,iHAAiH;QACvH,MAAM,EAAE,wCAAwC;KACjD;IACD,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,+BAA+B,EAAE,qDAAqD,CAAC,EAAE;IACxG,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,sEAAsE,CAAC;QAC/E,IAAI,EAAE,yBAAyB;KAChC;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,2EAA2E;YAC3E,+EAA+E;SAChF;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,qCAAqC;YACrC,cAAc;YACd,WAAW;YACX,wBAAwB;YACxB,oBAAoB;YACpB,qBAAqB;SACtB;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE;YACL,kCAAkC;YAClC,cAAc;YACd,wBAAwB;YACxB,oBAAoB;YACpB,qCAAqC;SACtC;KACF;IACD,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,2CAA2C,CAAC,EAAE;CAC3E,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Config } from '../config/index.js';
2
+ import type { Workspace } from '../workspace/index.js';
3
+ /**
4
+ * `init` tells knip not to report the validation packages of a project that validates nothing
5
+ * yet. Once a context imports the package, the note is removed: left there, knip would ask for
6
+ * it, and the packages are reported again the day nothing uses them.
7
+ */
8
+ export declare function stopIgnoringValidation(ws: Workspace, config: Config): void;
9
+ //# sourceMappingURL=stop-ignoring-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop-ignoring-validation.d.ts","sourceRoot":"","sources":["../../src/generate/stop-ignoring-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAOvD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAc1E"}
@@ -0,0 +1,36 @@
1
+ import { validationDependencies } from '../init/validation-dependencies.js';
2
+ import { filesUnder } from './files-under.js';
3
+ import { editJson } from './kinds/extraction/edit-json.js';
4
+ const KNIP_FILE = 'knip.json';
5
+ const IGNORED = 'ignoreDependencies';
6
+ /**
7
+ * `init` tells knip not to report the validation packages of a project that validates nothing
8
+ * yet. Once a context imports the package, the note is removed: left there, knip would ask for
9
+ * it, and the packages are reported again the day nothing uses them.
10
+ */
11
+ export function stopIgnoringValidation(ws, config) {
12
+ const waiting = validationDependencies(config);
13
+ const [validation = ''] = waiting;
14
+ if (!ignored(ws).includes(validation) || !imports(ws, config, validation)) {
15
+ return;
16
+ }
17
+ editJson(ws, KNIP_FILE, (knip) => {
18
+ const kept = ignored(ws).filter((name) => !waiting.includes(name));
19
+ // A key without a value is left out of the file.
20
+ knip[IGNORED] = kept.length > 0 ? kept : undefined;
21
+ });
22
+ }
23
+ function ignored(ws) {
24
+ const text = ws.read(KNIP_FILE);
25
+ const knip = text === undefined ? {} : JSON.parse(text);
26
+ const names = typeof knip === 'object' && knip !== null ? Reflect.get(knip, IGNORED) : undefined;
27
+ return Array.isArray(names) ? names.filter((name) => typeof name === 'string') : [];
28
+ }
29
+ /** The package itself or one of its entries (`@ddd-ts-kit/validation/zod`). */
30
+ function imports(ws, config, name) {
31
+ const reads = (text) => text.includes(`from '${name}'`) || text.includes(`from '${name}/`);
32
+ return filesUnder(ws, config.contextsDir)
33
+ .filter((file) => file.endsWith('.ts'))
34
+ .some((file) => reads(ws.read(`${config.contextsDir}/${file}`) ?? ''));
35
+ }
36
+ //# sourceMappingURL=stop-ignoring-validation.js.map