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
package/README.md CHANGED
@@ -22,6 +22,12 @@ npx ddd-ts-kit generate route billing IssueInvoice --method POST --path /invoice
22
22
  npx ddd-ts-kit check
23
23
  ```
24
24
 
25
+ `init` ends by saying what to run next: `pnpm install`, then `pnpm run verify` (`npm install`,
26
+ then `npm run verify` with `--package-manager npm`). A new project passes that whole gate before
27
+ anything is generated, with no context, with one and with several: the end-to-end suite installs
28
+ it for real and runs it, on both package managers and on every proven stack. After the install the
29
+ CLI is the one the project pins: `pnpm exec ddd-ts-kit <command>`, or `npx ddd-ts-kit <command>`.
30
+
25
31
  Every command accepts `--json` (machine-readable output, errors included) and `--cwd <dir>`.
26
32
  Commands other than `init` look for `ddd-ts-kit.config.json` in the directory and its parents.
27
33
  Exit codes: `0` success, `1` violations, stale documentation or, under `--strict`, a commit over
@@ -41,13 +47,18 @@ ddd-ts-kit init [--http express|fastify|nest|none]
41
47
  [--broker none|rabbitmq|kafka|nats|redis|custom] [--cache none|redis] [--audit on|off]
42
48
  [--errors none|sentry] [--logger stdout|pino|winston]
43
49
  [--style declared|explicit] [--assembly barrel|discovery]
50
+ [--package-manager npm|pnpm]
44
51
  [--allow-no-outbox "<reason>"] [--import-alias '$<name>/']
45
52
  [--context <name>:<core|supporting|generic>]...
46
53
  [--dry-run] [--force]
47
54
  ```
48
55
 
49
56
  Works in an empty directory or an existing project. An existing file is never replaced without
50
- `--force`; it is reported as skipped. An existing `package.json` is merged: missing scripts and
57
+ `--force`; it is reported as skipped. `init` also writes the generated contracts as the scripts
58
+ of the project write them for a project without a route or an integration event of its own
59
+ (`openapi/openapi.json`, `docs/integration/asyncapi.json` and `event-catalog.md`), so that the
60
+ first commit holds them and `docs:check` passes at once; a contract that is already there is
61
+ left alone, `--force` included. An existing `package.json` is merged: missing scripts and
51
62
  dependencies are added, yours are kept and mentioned in the notes. Run again later, `init` keeps
52
63
  the stack recorded in the config.
53
64
 
@@ -57,6 +68,18 @@ the cache in the process, the audit trail `on` when there is an ORM, unexpected
57
68
  nowhere (`--errors none`), JSON lines on the standard output (`--logger stdout`), and the
58
69
  `declared` style with a `barrel` wherever the declarations are read: with `--di tsyringe`.
59
70
 
71
+ **Package manager.** `pnpm` unless `--package-manager npm`: every script, pipeline, hook, the
72
+ Dockerfile, the guidance and the agent permissions are written in the dialect of the one chosen,
73
+ recorded under `stack.packageManager`. pnpm is pinned in `package.json` and provided by corepack;
74
+ `pnpm-workspace.yaml` says that no dependency runs a build script unless allowed by name. Both are
75
+ proven by a real install of a generated project, its build and its `verify`. The kit is installed
76
+ from the registry either way.
77
+
78
+ **Pipelines.** A pull or merge request runs the unit specs, the integration specs and the lint of
79
+ the contexts its change reaches through the context map (`ddd-ts-kit affected`); types,
80
+ architecture, import graph, dead code, end to end, build and documents always run on the whole
81
+ project, and the default branch and the nightly schedule run everything.
82
+
60
83
  **Two styles.** In the `declared` style each class says what it is with a decorator of
61
84
  `@ddd-ts-kit/kernel/declarations` (`@Requires` or `@Public` on a command or a query,
62
85
  `@CommandHandler`, `@QueryHandler`, `@IntegrationEventHandler`, `@DomainEventHandler`, `@Scheduled`,
@@ -713,8 +736,8 @@ npm run clean:self --workspace ddd-ts-kit # the clean/* rules on this pack
713
736
  npm run clean:packages --workspace ddd-ts-kit # the same rules on the sources of every other package
714
737
  ```
715
738
 
716
- The slow suite lives in `test/e2e/`, in seven spec files and their support files; it
717
- generates every project with every kind, a job on an interval and one on a cron expression with a
739
+ The slow suite lives in `test/e2e/`, in its spec files and their support files; but for the
740
+ `first-minute` specs it generates every project with every kind, a job on an interval and one on a cron expression with a
718
741
  time zone, `adapter --decorators`, `generate service` and `generate worker` included. It runs in
719
742
  the process, without a container:
720
743
 
@@ -738,6 +761,23 @@ the process, without a container:
738
761
  `--authz rebac --broker rabbitmq --ci gitlab`; and hand wiring (`--di manual`) on
739
762
  `--authz abac --orm knex` and on
740
763
  `--http fastify --orm knex --broker rabbitmq --cache redis --errors sentry --logger winston`.
764
+ - `first-minute.spec.ts`, `first-minute-proven.spec.ts`, `first-minute-no-context.spec.ts` and
765
+ `first-minute-two-contexts.spec.ts`: a
766
+ project is green from its first minute, before anything is generated. The first runs the quick
767
+ start of the root README line by line as it is written, on pnpm and, in the words the README
768
+ gives for it, on npm: `init` alone, the install and the `verify` the note of `init` names (also
769
+ held to the README and the `CLAUDE.md` of the project), then a context, a second one downstream
770
+ of it, a use case with its route, `docs:generate`, with a `verify` at each step; and the
771
+ sequence the defect of 0.1.0 was reported with, contexts asked of `init`. The second does the
772
+ same on the seven other proven stacks, one package manager each in turn: no context, one, two
773
+ with an upstream, a first use case. Both install for real from the packed kit and run in the
774
+ package manager jobs of the pipeline (`ci:test:managers`). The last two take every stack the
775
+ workspace can run, installed as a published kit would be, with no context and with two: no
776
+ finding of the four analyzers, specs that pass, a build, and the contracts `init` wrote equal to
777
+ what the scripts of the project generate.
778
+ - `package-managers.spec.ts`: one project per package manager on the default stack and on NestJS
779
+ with Prisma, every kind generated, installed for real from the packed kit: the frozen install of
780
+ a pipeline, the build, `verify`, and `affected` from the installed CLI.
741
781
  - `first-class.spec.ts`: the first-class stack, `--validation class-validator --orm knex --authn
742
782
  keycloak --authz rebac --cache redis --audit on --errors sentry --logger pino --style declared`
743
783
  (legacy decorator mode), three times, with `--broker redis` (one server for the cache and the
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The paths that differ between `base` and `head`, relative to the project at `root`; a path of
3
+ * the repository outside the project keeps a leading `../`. A rename is its old path and its new
4
+ * one. Undefined when git cannot tell (not a repository, an unknown ref, a shallow clone without
5
+ * the base): the caller then selects everything.
6
+ */
7
+ export declare function changedPaths(root: string, base: string, head: string): string[] | undefined;
8
+ //# sourceMappingURL=changed-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-paths.d.ts","sourceRoot":"","sources":["../../src/affected/changed-paths.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAc3F"}
@@ -0,0 +1,21 @@
1
+ import { runGit } from '../commit/run-git.js';
2
+ /**
3
+ * The paths that differ between `base` and `head`, relative to the project at `root`; a path of
4
+ * the repository outside the project keeps a leading `../`. A rename is its old path and its new
5
+ * one. Undefined when git cannot tell (not a repository, an unknown ref, a shallow clone without
6
+ * the base): the caller then selects everything.
7
+ */
8
+ export function changedPaths(root, base, head) {
9
+ const prefix = runGit(root, ['rev-parse', '--show-prefix'])?.trim();
10
+ // Three dots would need the history between the two; the merge base is asked for and used when the clone has it.
11
+ const from = runGit(root, ['merge-base', base, head])?.trim() || base;
12
+ const diff = runGit(root, ['diff', '--name-only', '--no-renames', '-z', from, head]);
13
+ if (prefix === undefined || diff === undefined) {
14
+ return undefined;
15
+ }
16
+ return diff
17
+ .split('\0')
18
+ .filter((file) => file !== '')
19
+ .map((file) => (file.startsWith(prefix) ? file.slice(prefix.length) : `../${file}`));
20
+ }
21
+ //# sourceMappingURL=changed-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-paths.js","sourceRoot":"","sources":["../../src/affected/changed-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IACnE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACpE,iHAAiH;IACjH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAErF,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;SAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;AACzF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Config } from '../config/index.js';
2
+ /** Every context that declares `context` as an upstream, directly or through another: the context map read as a dependency graph. */
3
+ export declare function downstreamsOf(config: Config, context: string): string[];
4
+ //# sourceMappingURL=downstreams-of.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downstreams-of.d.ts","sourceRoot":"","sources":["../../src/affected/downstreams-of.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qIAAqI;AACrI,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBvE"}
@@ -0,0 +1,16 @@
1
+ /** Every context that declares `context` as an upstream, directly or through another: the context map read as a dependency graph. */
2
+ export function downstreamsOf(config, context) {
3
+ const reached = new Set();
4
+ const pending = [context];
5
+ for (let current = pending.pop(); current !== undefined; current = pending.pop()) {
6
+ for (const [name, { upstreams }] of Object.entries(config.contexts)) {
7
+ if (!reached.has(name) && upstreams.some((upstream) => upstream.context === current)) {
8
+ reached.add(name);
9
+ pending.push(name);
10
+ }
11
+ }
12
+ }
13
+ reached.delete(context);
14
+ return [...reached];
15
+ }
16
+ //# sourceMappingURL=downstreams-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downstreams-of.js","sourceRoot":"","sources":["../../src/affected/downstreams-of.ts"],"names":[],"mappings":"AAEA,qIAAqI;AACrI,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAAe;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IAE1B,KAAK,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,KAAK,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACjF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAExB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Config } from '../config/index.js';
2
+ import type { Selection } from './selection.js';
3
+ /** The whole project: no context left out, which is what the default branch and the nightly run always get. */
4
+ export declare function everything(config: Config, reason: string): Selection;
5
+ //# sourceMappingURL=everything.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"everything.d.ts","sourceRoot":"","sources":["../../src/affected/everything.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,+GAA+G;AAC/G,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAEpE"}
@@ -0,0 +1,5 @@
1
+ /** The whole project: no context left out, which is what the default branch and the nightly run always get. */
2
+ export function everything(config, reason) {
3
+ return { scope: 'all', reason, contexts: Object.keys(config.contexts), specs: ['**/*.spec.ts'], leftOut: [] };
4
+ }
5
+ //# sourceMappingURL=everything.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"everything.js","sourceRoot":"","sources":["../../src/affected/everything.ts"],"names":[],"mappings":"AAGA,+GAA+G;AAC/G,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,MAAc;IACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAChH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Selection } from './selection.js';
2
+ /**
3
+ * The selection for a reader (`text`), as data (`json`), or as `key=value` lines: `github` for
4
+ * `$GITHUB_OUTPUT`, `env` (keys in upper case behind `AFFECTED_`) for a GitLab `dotenv` report.
5
+ * The keys: `scope` (`all`, `contexts` or `none`); `contexts`, comma separated, which the test
6
+ * runner reads as `DDD_TS_KIT_AFFECTED` (empty for `all`: nothing is left out); `args`, the
7
+ * arguments a partial run adds to the test runner; `lint`, the ones it adds to the linter.
8
+ */
9
+ export declare function formatSelection(selection: Selection, format: string): string;
10
+ //# sourceMappingURL=format-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-selection.d.ts","sourceRoot":"","sources":["../../src/affected/format-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMhD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAc5E"}
@@ -0,0 +1,45 @@
1
+ /** Lets a partial run pass when a selected context has no spec of one kind. */
2
+ const PARTIAL_RUN = '--passWithNoTests';
3
+ const ENV_PREFIX = 'AFFECTED_';
4
+ /**
5
+ * The selection for a reader (`text`), as data (`json`), or as `key=value` lines: `github` for
6
+ * `$GITHUB_OUTPUT`, `env` (keys in upper case behind `AFFECTED_`) for a GitLab `dotenv` report.
7
+ * The keys: `scope` (`all`, `contexts` or `none`); `contexts`, comma separated, which the test
8
+ * runner reads as `DDD_TS_KIT_AFFECTED` (empty for `all`: nothing is left out); `args`, the
9
+ * arguments a partial run adds to the test runner; `lint`, the ones it adds to the linter.
10
+ */
11
+ export function formatSelection(selection, format) {
12
+ if (format === 'json') {
13
+ return JSON.stringify(selection, null, 2);
14
+ }
15
+ if (format === 'text') {
16
+ return text(selection);
17
+ }
18
+ const key = (name) => (format === 'env' ? `${ENV_PREFIX}${name.toUpperCase()}` : name);
19
+ return Object.entries(values(selection))
20
+ .map(([name, value]) => `${key(name)}=${value}`)
21
+ .join('\n');
22
+ }
23
+ function values(selection) {
24
+ const partial = selection.scope === 'contexts';
25
+ return {
26
+ scope: selection.scope,
27
+ contexts: partial ? selection.contexts.join(',') : '',
28
+ args: partial ? PARTIAL_RUN : '',
29
+ lint: selection.leftOut.map((directory) => `--ignore-pattern ${directory}`).join(' '),
30
+ };
31
+ }
32
+ function text(selection) {
33
+ if (selection.scope === 'all') {
34
+ return `Everything is affected: ${selection.reason}.`;
35
+ }
36
+ if (selection.scope === 'none') {
37
+ return `Nothing that runs is affected: ${selection.reason}.`;
38
+ }
39
+ return [
40
+ `Affected contexts: ${selection.contexts.join(', ')} (${selection.reason}).`,
41
+ `Specs: ${selection.specs.join(' ')}`,
42
+ `Left to the default branch: ${selection.leftOut.join(' ')}`,
43
+ ].join('\n');
44
+ }
45
+ //# sourceMappingURL=format-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-selection.js","sourceRoot":"","sources":["../../src/affected/format-selection.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,WAAW,GAAG,mBAAmB,CAAC;AACxC,MAAM,UAAU,GAAG,WAAW,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,SAAoB,EAAE,MAAc;IAClE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEvG,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;SAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,MAAM,CAAC,SAAoB;IAClC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC;IAE/C,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACrD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;QAChC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACtF,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,SAAoB;IAChC,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,2BAA2B,SAAS,CAAC,MAAM,GAAG,CAAC;IACxD,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,kCAAkC,SAAS,CAAC,MAAM,GAAG,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,sBAAsB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,IAAI;QAC5E,UAAU,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrC,+BAA+B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;KAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** What one changed path reaches: one context (its specs alone when only its tests changed), everything, or nothing that runs. */
2
+ export type PathReach = {
3
+ readonly kind: 'context';
4
+ readonly context: string;
5
+ readonly testsOnly: boolean;
6
+ } | {
7
+ readonly kind: 'everything';
8
+ readonly reason: string;
9
+ } | {
10
+ readonly kind: 'nothing';
11
+ };
12
+ //# sourceMappingURL=path-reach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-reach.d.ts","sourceRoot":"","sources":["../../src/affected/path-reach.ts"],"names":[],"mappings":"AAAA,kIAAkI;AAClI,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACnF;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=path-reach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-reach.js","sourceRoot":"","sources":["../../src/affected/path-reach.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { Config } from '../config/index.js';
2
+ import type { PathReach } from './path-reach.js';
3
+ /**
4
+ * What a changed path, relative to the project root, reaches. A path under a declared context
5
+ * reaches that context; a document reaches nothing; anything else (the shared kernel, the
6
+ * platform, the composition root, the configuration, the lockfile, the tooling, the pipeline, a
7
+ * context the config does not declare, a path nobody listed) reaches everything.
8
+ */
9
+ export declare function reachOf(config: Config, file: string): PathReach;
10
+ //# sourceMappingURL=reach-of.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reach-of.d.ts","sourceRoot":"","sources":["../../src/affected/reach-of.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAY/D"}
@@ -0,0 +1,30 @@
1
+ /** Written for people and agents, never loaded by a spec, a build or a tool of the pipeline other than the documents gate, which always runs. */
2
+ const DOCUMENT_DIRECTORIES = ['docs/', 'openapi/', '.claude/'];
3
+ /**
4
+ * What a changed path, relative to the project root, reaches. A path under a declared context
5
+ * reaches that context; a document reaches nothing; anything else (the shared kernel, the
6
+ * platform, the composition root, the configuration, the lockfile, the tooling, the pipeline, a
7
+ * context the config does not declare, a path nobody listed) reaches everything.
8
+ */
9
+ export function reachOf(config, file) {
10
+ const contexts = `${config.contextsDir}/`;
11
+ if (file.startsWith(contexts)) {
12
+ return contextReach(config, file.slice(contexts.length));
13
+ }
14
+ if (isDocument(file)) {
15
+ return { kind: 'nothing' };
16
+ }
17
+ return { kind: 'everything', reason: `${file} is shared by every context` };
18
+ }
19
+ function contextReach(config, inside) {
20
+ const [context = '', ...rest] = inside.split('/');
21
+ if (rest.length === 0 || config.contexts[context] === undefined) {
22
+ return { kind: 'everything', reason: `${config.contextsDir}/${inside} belongs to no declared context` };
23
+ }
24
+ return { kind: 'context', context, testsOnly: rest[0] === 'test' };
25
+ }
26
+ function isDocument(file) {
27
+ const atRoot = !file.includes('/');
28
+ return (atRoot && file.endsWith('.md')) || DOCUMENT_DIRECTORIES.some((directory) => file.startsWith(directory));
29
+ }
30
+ //# sourceMappingURL=reach-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reach-of.js","sourceRoot":"","sources":["../../src/affected/reach-of.ts"],"names":[],"mappings":"AAGA,iJAAiJ;AACjJ,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,IAAY;IAClD,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC;IAE1C,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAAc;IAClD,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,iCAAiC,EAAE,CAAC;IAC1G,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEnC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAClH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Config } from '../config/index.js';
2
+ import type { Selection } from './selection.js';
3
+ /**
4
+ * What a change set has to run. A context whose sources changed is selected with every context
5
+ * downstream of it; a context whose tests alone changed is selected alone (no other context may
6
+ * import them); one path that is shared, or that nobody listed, selects everything. The
7
+ * selection is never narrower than the declared dependencies: `context/declared-relationship`
8
+ * keeps the imports inside them, and that rule runs on the whole project in every pipeline.
9
+ */
10
+ export declare function selectAffected(config: Config, changed: readonly string[]): Selection;
11
+ //# sourceMappingURL=select-affected.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-affected.d.ts","sourceRoot":"","sources":["../../src/affected/select-affected.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAKjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CA2BpF"}
@@ -0,0 +1,39 @@
1
+ import { downstreamsOf } from './downstreams-of.js';
2
+ import { everything } from './everything.js';
3
+ import { reachOf } from './reach-of.js';
4
+ /**
5
+ * What a change set has to run. A context whose sources changed is selected with every context
6
+ * downstream of it; a context whose tests alone changed is selected alone (no other context may
7
+ * import them); one path that is shared, or that nobody listed, selects everything. The
8
+ * selection is never narrower than the declared dependencies: `context/declared-relationship`
9
+ * keeps the imports inside them, and that rule runs on the whole project in every pipeline.
10
+ */
11
+ export function selectAffected(config, changed) {
12
+ const reaches = changed.map((file) => reachOf(config, file));
13
+ const shared = reaches.find((reach) => reach.kind === 'everything');
14
+ if (shared !== undefined) {
15
+ return everything(config, shared.reason);
16
+ }
17
+ const selected = new Set(reaches.flatMap((reach) => contextsOf(config, reach)));
18
+ const declared = Object.keys(config.contexts);
19
+ const contexts = declared.filter((context) => selected.has(context));
20
+ if (contexts.length === 0) {
21
+ const reason = changed.length === 0 ? 'no file changed' : 'only documents changed';
22
+ return { scope: 'none', reason, contexts: [], specs: [], leftOut: [] };
23
+ }
24
+ const directory = (context) => `${config.contextsDir}/${context}/`;
25
+ return {
26
+ scope: contexts.length === declared.length ? 'all' : 'contexts',
27
+ reason: 'the changed contexts and the contexts downstream of them in the context map',
28
+ contexts,
29
+ specs: [...contexts.map((context) => `${directory(context)}**/*.spec.ts`), `!${config.contextsDir}/**`],
30
+ leftOut: declared.filter((context) => !selected.has(context)).map(directory),
31
+ };
32
+ }
33
+ function contextsOf(config, reach) {
34
+ if (reach.kind !== 'context') {
35
+ return [];
36
+ }
37
+ return reach.testsOnly ? [reach.context] : [reach.context, ...downstreamsOf(config, reach.context)];
38
+ }
39
+ //# sourceMappingURL=select-affected.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-affected.js","sourceRoot":"","sources":["../../src/affected/select-affected.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,OAA0B;IACvE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAEpE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAErE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAEnF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,GAAG,CAAC;IAEnF,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;QAC/D,MAAM,EAAE,6EAA6E;QACrF,QAAQ;QACR,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC;QACvG,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,KAAgB;IAClD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACtG,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** What a pull request has to run for a change set: the bounded contexts it reaches, and the ones it leaves to the default branch. */
2
+ export interface Selection {
3
+ /** How much of the project the change set reaches: everything, some bounded contexts, or nothing that runs. */
4
+ readonly scope: 'all' | 'contexts' | 'none';
5
+ /** Why: the path that widened the selection to everything, or how the contexts were reached. */
6
+ readonly reason: string;
7
+ /** The contexts whose specs run and whose coverage is held, in the order of the config file; every context when the scope is `all`. */
8
+ readonly contexts: readonly string[];
9
+ /** The spec globs that run; what lives outside the contexts (platform, shared kernel, `test/`) runs with any of them. */
10
+ readonly specs: readonly string[];
11
+ /** The directories of the contexts left out, each ending in `/`: their specs are not run and their sources are not linted. */
12
+ readonly leftOut: readonly string[];
13
+ }
14
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/affected/selection.ts"],"names":[],"mappings":"AAAA,sIAAsI;AACtI,MAAM,WAAW,SAAS;IACxB,+GAA+G;IAC/G,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IAC5C,gGAAgG;IAChG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uIAAuI;IACvI,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,yHAAyH;IACzH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,8HAA8H;IAC9H,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/affected/selection.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { Command } from './command.js';
2
+ /**
3
+ * `affected`: what a pull request has to run, read from the context map and the paths that
4
+ * differ between two commits. Without `--base` everything is selected, which is what the
5
+ * default branch runs; so is it whenever git cannot give the difference.
6
+ */
7
+ export declare const affectedCommand: Command;
8
+ //# sourceMappingURL=affected.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,OAkB7B,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { changedPaths } from '../affected/changed-paths.js';
2
+ import { everything } from '../affected/everything.js';
3
+ import { formatSelection } from '../affected/format-selection.js';
4
+ import { selectAffected } from '../affected/select-affected.js';
5
+ import { CliError } from '../cli-error.js';
6
+ import { readConfig } from '../config/index.js';
7
+ import { Arguments } from './arguments.js';
8
+ const FORMATS = ['text', 'json', 'github', 'env'];
9
+ /**
10
+ * `affected`: what a pull request has to run, read from the context map and the paths that
11
+ * differ between two commits. Without `--base` everything is selected, which is what the
12
+ * default branch runs; so is it whenever git cannot give the difference.
13
+ */
14
+ export const affectedCommand = (argv, io) => {
15
+ const args = Arguments.parse(argv, {
16
+ base: { type: 'string' },
17
+ head: { type: 'string' },
18
+ format: { type: 'string' },
19
+ });
20
+ const format = args.json ? 'json' : (args.text('format') ?? 'text');
21
+ if (!FORMATS.includes(format)) {
22
+ throw new CliError(`Unknown value "${format}" for --format.`, `Use one of: ${FORMATS.join(', ')}.`);
23
+ }
24
+ const root = args.projectRoot;
25
+ io.out(formatSelection(selectionFor(root, readConfig(root).config, args), format));
26
+ return 0;
27
+ };
28
+ function selectionFor(root, config, args) {
29
+ const base = args.text('base');
30
+ if (base === undefined || base === '') {
31
+ return everything(config, 'no base to compare with');
32
+ }
33
+ const changed = changedPaths(root, base, args.text('head') ?? 'HEAD');
34
+ return changed === undefined
35
+ ? everything(config, `git cannot tell what changed since ${base}`)
36
+ : selectAffected(config, changed);
37
+ }
38
+ //# sourceMappingURL=affected.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/commands/affected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAY,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;QACjC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC;IAEpE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,MAAM,iBAAiB,EAAE,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;IAE9B,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,IAAe;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;IAEtE,OAAO,OAAO,KAAK,SAAS;QAC1B,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,sCAAsC,IAAI,EAAE,CAAC;QAClE,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,eAAO,MAAM,WAAW,EAAE,OA6BzB,CAAC"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,eAAO,MAAM,WAAW,EAAE,OA8BzB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { readConfig } from '../config/index.js';
2
2
  import { writeDocs } from '../docs/write-docs.js';
3
+ import { stopIgnoringValidation } from '../generate/stop-ignoring-validation.js';
3
4
  import { Workspace } from '../workspace/index.js';
4
5
  import { Arguments } from './arguments.js';
5
6
  import { printReport } from './print-report.js';
@@ -12,6 +13,7 @@ export const docsCommand = (argv, io) => {
12
13
  const ws = new Workspace(root, false);
13
14
  writeDocs(ws, readConfig(root).config);
14
15
  if (!args.flag('check')) {
16
+ stopIgnoringValidation(ws, readConfig(root).config);
15
17
  printReport(io, args, ws.commit(args.flag('dry-run')));
16
18
  return 0;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAY,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;QACjC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;KAC/C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEtC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEvD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,8CAA8C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAY,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;QACjC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;KAC/C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEtC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,sBAAsB,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEvD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,8CAA8C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,eAAO,MAAM,eAAe,EAAE,OAmB7B,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,eAAO,MAAM,eAAe,EAAE,OAsB7B,CAAC"}
@@ -8,6 +8,7 @@ import { findKind } from '../generate/find-kind.js';
8
8
  import { KINDS } from '../generate/kinds.js';
9
9
  import { refreshBarrels } from '../generate/refresh-barrels.js';
10
10
  import { refuseSharedWrites } from '../generate/refuse-shared-writes.js';
11
+ import { stopIgnoringValidation } from '../generate/stop-ignoring-validation.js';
11
12
  import { toName } from '../naming/index.js';
12
13
  import { Workspace } from '../workspace/index.js';
13
14
  import { Arguments } from './arguments.js';
@@ -25,6 +26,10 @@ export const generateCommand = (argv, io) => {
25
26
  if (args.flag('local-only')) {
26
27
  refuseSharedWrites(ws, config, kind.positionals[0] === 'context' ? toName(rest[0] ?? '').kebab : undefined);
27
28
  }
29
+ else {
30
+ // A worker confined to its context leaves knip.json alone: the next command on the trunk, or `docs`, does this.
31
+ stopIgnoringValidation(ws, config);
32
+ }
28
33
  printReport(io, args, ws.commit(args.flag('dry-run')));
29
34
  return 0;
30
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAuB5C,eAAO,MAAM,WAAW,EAAE,OA+BzB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAuB5C,eAAO,MAAM,WAAW,EAAE,OAkCzB,CAAC"}
@@ -25,7 +25,10 @@ const STACK_FLAGS = [
25
25
  ];
26
26
  export const initCommand = (argv, io) => {
27
27
  const args = Arguments.parse(argv, {
28
- ...Object.fromEntries([...STACK_FLAGS, 'docs-ui', 'allow-no-outbox', 'import-alias'].map((flag) => [flag, { type: 'string' }])),
28
+ ...Object.fromEntries([...STACK_FLAGS, 'docs-ui', 'allow-no-outbox', 'import-alias', 'package-manager'].map((flag) => [
29
+ flag,
30
+ { type: 'string' },
31
+ ])),
29
32
  context: { type: 'string', multiple: true },
30
33
  'dry-run': { type: 'boolean', default: false },
31
34
  force: { type: 'boolean', default: false },
@@ -45,11 +48,13 @@ function stackOptions(args) {
45
48
  const docsUi = args.text('docs-ui');
46
49
  const allowNoOutbox = args.text('allow-no-outbox');
47
50
  const importAlias = args.text('import-alias');
51
+ const packageManager = args.text('package-manager');
48
52
  return {
49
53
  ...args.texts(STACK_FLAGS),
50
54
  ...(docsUi === undefined ? {} : { docsUi }),
51
55
  ...(allowNoOutbox === undefined ? {} : { allowNoOutbox }),
52
56
  ...(importAlias === undefined ? {} : { importAlias }),
57
+ ...(packageManager === undefined ? {} : { packageManager }),
53
58
  };
54
59
  }
55
60
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}