ddd-ts-kit 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -0
- package/README.fr.md +15 -6
- package/README.md +12 -4
- package/dist/check/catalogue/architecture-rules.d.ts.map +1 -1
- package/dist/check/catalogue/architecture-rules.js +2 -0
- package/dist/check/catalogue/architecture-rules.js.map +1 -1
- package/dist/check/catalogue/default-severities.d.ts.map +1 -1
- package/dist/check/catalogue/default-severities.js +1 -0
- package/dist/check/catalogue/default-severities.js.map +1 -1
- package/dist/check/commands/rules-command.js +2 -2
- package/dist/check/commands/rules-command.js.map +1 -1
- package/dist/check/configuration/config-inspection.d.ts.map +1 -1
- package/dist/check/configuration/config-inspection.js +7 -1
- package/dist/check/configuration/config-inspection.js.map +1 -1
- package/dist/check/engine/run-check.d.ts.map +1 -1
- package/dist/check/engine/run-check.js +17 -1
- package/dist/check/engine/run-check.js.map +1 -1
- package/dist/check/explain/layout-docs.js +1 -1
- package/dist/check/explain/layout-docs.js.map +1 -1
- package/dist/check/explain/persistence-docs.js +1 -1
- package/dist/check/explain/persistence-docs.js.map +1 -1
- package/dist/check/explain/tree-docs.js +2 -2
- package/dist/check/explain/tree-docs.js.map +1 -1
- package/dist/check/explain/wiring-docs.d.ts.map +1 -1
- package/dist/check/explain/wiring-docs.js +7 -0
- package/dist/check/explain/wiring-docs.js.map +1 -1
- package/dist/check/fixtures/config-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/config-fixtures.js +50 -1
- package/dist/check/fixtures/config-fixtures.js.map +1 -1
- package/dist/check/fixtures/governance-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/governance-fixtures.js +12 -3
- package/dist/check/fixtures/governance-fixtures.js.map +1 -1
- package/dist/check/fixtures/layer-fixtures.js +1 -1
- package/dist/check/fixtures/layer-fixtures.js.map +1 -1
- package/dist/check/fixtures/layout-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/layout-fixtures.js +6 -0
- package/dist/check/fixtures/layout-fixtures.js.map +1 -1
- package/dist/check/fixtures/persistence-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/persistence-fixtures.js +16 -0
- package/dist/check/fixtures/persistence-fixtures.js.map +1 -1
- package/dist/check/fixtures/test-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/test-fixtures.js +35 -1
- package/dist/check/fixtures/test-fixtures.js.map +1 -1
- package/dist/check/fixtures/tree-fixtures.js +1 -1
- package/dist/check/fixtures/tree-fixtures.js.map +1 -1
- package/dist/check/migrations/working-migration-findings.d.ts +8 -0
- package/dist/check/migrations/working-migration-findings.d.ts.map +1 -0
- package/dist/check/migrations/working-migration-findings.js +22 -0
- package/dist/check/migrations/working-migration-findings.js.map +1 -0
- package/dist/check/model/project.d.ts +3 -0
- package/dist/check/model/project.d.ts.map +1 -1
- package/dist/check/project/assemble-project.d.ts +2 -2
- package/dist/check/project/assemble-project.d.ts.map +1 -1
- package/dist/check/project/assemble-project.js +16 -6
- package/dist/check/project/assemble-project.js.map +1 -1
- package/dist/check/rules/clean-file-size.d.ts.map +1 -1
- package/dist/check/rules/clean-file-size.js +6 -1
- package/dist/check/rules/clean-file-size.js.map +1 -1
- package/dist/check/rules/clean-one-export-per-file.d.ts.map +1 -1
- package/dist/check/rules/clean-one-export-per-file.js +2 -11
- package/dist/check/rules/clean-one-export-per-file.js.map +1 -1
- package/dist/check/rules/config-rule-off-everywhere.d.ts +3 -0
- package/dist/check/rules/config-rule-off-everywhere.d.ts.map +1 -0
- package/dist/check/rules/config-rule-off-everywhere.js +21 -0
- package/dist/check/rules/config-rule-off-everywhere.js.map +1 -0
- package/dist/check/rules/governance-recorded-deviation.js +14 -7
- package/dist/check/rules/governance-recorded-deviation.js.map +1 -1
- package/dist/check/rules/persistence-migration-history.d.ts.map +1 -1
- package/dist/check/rules/persistence-migration-history.js +9 -2
- package/dist/check/rules/persistence-migration-history.js.map +1 -1
- package/dist/check/rules/test-spec-required.d.ts.map +1 -1
- package/dist/check/rules/test-spec-required.js +3 -2
- package/dist/check/rules/test-spec-required.js.map +1 -1
- package/dist/check/support/is-abstract-base.d.ts +7 -0
- package/dist/check/support/is-abstract-base.d.ts.map +1 -0
- package/dist/check/support/is-abstract-base.js +11 -0
- package/dist/check/support/is-abstract-base.js.map +1 -0
- package/dist/check/support/is-generated-context-file.d.ts +4 -0
- package/dist/check/support/is-generated-context-file.d.ts.map +1 -0
- package/dist/check/support/is-generated-context-file.js +12 -0
- package/dist/check/support/is-generated-context-file.js.map +1 -0
- package/dist/commands/drizzle-generate.d.ts +4 -0
- package/dist/commands/drizzle-generate.d.ts.map +1 -0
- package/dist/commands/drizzle-generate.js +14 -0
- package/dist/commands/drizzle-generate.js.map +1 -0
- package/dist/commands/generate.js +2 -0
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/worker-scope.d.ts.map +1 -1
- package/dist/commands/worker-scope.js +17 -2
- package/dist/commands/worker-scope.js.map +1 -1
- package/dist/config/config.d.ts +2 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/parse-config.d.ts.map +1 -1
- package/dist/config/parse-config.js +2 -1
- package/dist/config/parse-config.js.map +1 -1
- package/dist/config/parse-rule-setting.d.ts +3 -0
- package/dist/config/parse-rule-setting.d.ts.map +1 -0
- package/dist/config/parse-rule-setting.js +10 -0
- package/dist/config/parse-rule-setting.js.map +1 -0
- package/dist/config/project-severity.d.ts +4 -0
- package/dist/config/project-severity.d.ts.map +1 -0
- package/dist/config/project-severity.js +5 -0
- package/dist/config/project-severity.js.map +1 -0
- package/dist/config/rule-setting.d.ts +10 -0
- package/dist/config/rule-setting.d.ts.map +1 -0
- package/dist/config/rule-setting.js +2 -0
- package/dist/config/rule-setting.js.map +1 -0
- package/dist/generate/kind.d.ts +2 -0
- package/dist/generate/kind.d.ts.map +1 -1
- package/dist/generate/kinds/adr-kind.d.ts.map +1 -1
- package/dist/generate/kinds/adr-kind.js +8 -4
- package/dist/generate/kinds/adr-kind.js.map +1 -1
- package/dist/generate/kinds/adr-number.d.ts +8 -0
- package/dist/generate/kinds/adr-number.d.ts.map +1 -0
- package/dist/generate/kinds/adr-number.js +25 -0
- package/dist/generate/kinds/adr-number.js.map +1 -0
- package/dist/generate/kinds/write-adr.d.ts +3 -1
- package/dist/generate/kinds/write-adr.d.ts.map +1 -1
- package/dist/generate/kinds/write-adr.js +3 -3
- package/dist/generate/kinds/write-adr.js.map +1 -1
- package/dist/help/notes.d.ts +1 -1
- package/dist/help/notes.d.ts.map +1 -1
- package/dist/help/notes.js +8 -2
- package/dist/help/notes.js.map +1 -1
- package/dist/help/usage.d.ts +1 -1
- package/dist/help/usage.d.ts.map +1 -1
- package/dist/help/usage.js +2 -1
- package/dist/help/usage.js.map +1 -1
- package/dist/init/manifest/database-scripts.d.ts.map +1 -1
- package/dist/init/manifest/database-scripts.js +2 -1
- package/dist/init/manifest/database-scripts.js.map +1 -1
- package/dist/init/manifest/scripts-for.js +2 -0
- package/dist/init/manifest/scripts-for.js.map +1 -1
- package/dist/init/manifest/versions.js +24 -24
- package/dist/init/write-agent-settings.d.ts.map +1 -1
- package/dist/init/write-agent-settings.js +1 -0
- package/dist/init/write-agent-settings.js.map +1 -1
- package/dist/migration/drizzle-kit-bin.d.ts +3 -0
- package/dist/migration/drizzle-kit-bin.d.ts.map +1 -0
- package/dist/migration/drizzle-kit-bin.js +12 -0
- package/dist/migration/drizzle-kit-bin.js.map +1 -0
- package/dist/migration/drizzle-silent-failures.d.ts +9 -0
- package/dist/migration/drizzle-silent-failures.d.ts.map +1 -0
- package/dist/migration/drizzle-silent-failures.js +14 -0
- package/dist/migration/drizzle-silent-failures.js.map +1 -0
- package/dist/migration/generate-drizzle-migration.d.ts +15 -0
- package/dist/migration/generate-drizzle-migration.d.ts.map +1 -0
- package/dist/migration/generate-drizzle-migration.js +37 -0
- package/dist/migration/generate-drizzle-migration.js.map +1 -0
- package/dist/migration/index.d.ts +2 -0
- package/dist/migration/index.d.ts.map +1 -0
- package/dist/migration/index.js +2 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/presets/preset-decision.js +2 -2
- package/dist/presets/preset-decision.js.map +1 -1
- package/dist/progress/read-slice-rules.d.ts +8 -0
- package/dist/progress/read-slice-rules.d.ts.map +1 -0
- package/dist/progress/read-slice-rules.js +20 -0
- package/dist/progress/read-slice-rules.js.map +1 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +2 -0
- package/dist/run.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/worker/base-of.d.ts +8 -0
- package/dist/worker/base-of.d.ts.map +1 -0
- package/dist/worker/base-of.js +36 -0
- package/dist/worker/base-of.js.map +1 -0
- package/dist/worker/briefed-rows.d.ts +14 -0
- package/dist/worker/briefed-rows.d.ts.map +1 -0
- package/dist/worker/briefed-rows.js +53 -0
- package/dist/worker/briefed-rows.js.map +1 -0
- package/dist/worker/briefed-slice.d.ts +7 -0
- package/dist/worker/briefed-slice.d.ts.map +1 -0
- package/dist/worker/briefed-slice.js +2 -0
- package/dist/worker/briefed-slice.js.map +1 -0
- package/dist/worker/briefing-of.d.ts.map +1 -1
- package/dist/worker/briefing-of.js +7 -5
- package/dist/worker/briefing-of.js.map +1 -1
- package/dist/worker/ensure-contains-base.d.ts +6 -0
- package/dist/worker/ensure-contains-base.d.ts.map +1 -0
- package/dist/worker/ensure-contains-base.js +13 -0
- package/dist/worker/ensure-contains-base.js.map +1 -0
- package/dist/worker/open-worker-scope.d.ts +7 -3
- package/dist/worker/open-worker-scope.d.ts.map +1 -1
- package/dist/worker/open-worker-scope.js +33 -21
- package/dist/worker/open-worker-scope.js.map +1 -1
- package/dist/worker/worker-place.d.ts +2 -2
- package/dist/worker/worker-place.d.ts.map +1 -1
- package/dist/worker/worker-scope.d.ts +4 -4
- package/dist/worker/worker-scope.d.ts.map +1 -1
- package/package.json +2 -2
- package/templates/init/AGENTS.md.tpl +2 -2
- package/templates/init/README.md.tpl +1 -0
- package/templates/pipeline/package-scripts.json +1 -1
- package/templates/pipeline/vitest.config.ts.tpl +10 -1
- package/dist/generate/kinds/next-adr-number.d.ts +0 -4
- package/dist/generate/kinds/next-adr-number.d.ts.map +0 -1
- package/dist/generate/kinds/next-adr-number.js +0 -7
- package/dist/generate/kinds/next-adr-number.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,66 @@ What each version changes for someone who uses the kit. The packages of `package
|
|
|
4
4
|
together, under one version; the notes of each [GitHub release](https://github.com/gbourgeat/ddd-ts-kit/releases)
|
|
5
5
|
list the pull requests behind it.
|
|
6
6
|
|
|
7
|
+
## 0.21.0
|
|
8
|
+
|
|
9
|
+
**A rule can be set for some files only, and a rule off everywhere is said.** `rules.<id>` in
|
|
10
|
+
`ddd-ts-kit.config.json` also takes `{ "severity": "error" | "warn" | "off", "files": ["<glob>"] }`:
|
|
11
|
+
a finding on a matching file takes that severity, every other file keeps the one of the project.
|
|
12
|
+
The ESLint preset applies the same setting to the same files. A lowered setting still needs its
|
|
13
|
+
`deviations` entry. The new rule `config/rule-off-everywhere` (a warning) reports a bare `"off"`,
|
|
14
|
+
which hides every finding of the rule and not only the ones its exception was about. To move,
|
|
15
|
+
narrow each reported rule to the files it is about, or write `"files": ["**"]` when the whole
|
|
16
|
+
project is meant.
|
|
17
|
+
|
|
18
|
+
**The generated barrel of a context is not judged by `clean/file-size`.** `<context>.declarations.ts`
|
|
19
|
+
and `<context>.dependencies.ts`, at the root of their context, are written by the kit and may grow
|
|
20
|
+
past 350 lines; a project no longer has to turn the rule off for them. A file of the same name
|
|
21
|
+
elsewhere is still judged. To move, remove an exception you wrote for them.
|
|
22
|
+
|
|
23
|
+
**`worker-scope` briefs one batch, from a checked base.** `--base <ref>` cuts the worktree from
|
|
24
|
+
that ref (`origin/main`) and gives it as the trunk of the checks; `--rows <id,...>` limits the
|
|
25
|
+
briefing to those rows of `slices.md`, in that order. Without `--base`, the command refuses to run
|
|
26
|
+
from a worker's worktree, and an existing worktree or branch that does not contain the base is
|
|
27
|
+
refused with the fix. The `rules:` of a row is filled from the line of rules that `plan-slices`
|
|
28
|
+
writes under the table. The `context-builder` agent takes one or two rows, keeps its last turns for
|
|
29
|
+
its report and never ends without it; `architecture-reviewer` keeps turns for its verdict.
|
|
30
|
+
|
|
31
|
+
**A worker may generate a working migration.** `npm run db:generate working-<what>` in a worker's
|
|
32
|
+
worktree is allowed by the guard, and `persistence/migration-history` accepts it there, so a branch
|
|
33
|
+
that changes the stored state is green alone. On the trunk the same file is reported: at the merge
|
|
34
|
+
the conductor deletes it and generates the real one (`parallel-work`, merge step). Any other
|
|
35
|
+
migration stays refused to a worker.
|
|
36
|
+
|
|
37
|
+
**`db:generate` under drizzle-kit no longer waits or pretends.** Without a terminal, drizzle-kit
|
|
38
|
+
refused its rename question, wrote no migration and exited 0; under a pseudo-terminal it waited
|
|
39
|
+
for an answer. `db:generate` is now `ddd-ts-kit drizzle-generate --name`: in a terminal it is
|
|
40
|
+
`drizzle-kit generate` as before; without one, those two silent failures exit 2 with the fix (split
|
|
41
|
+
the rename, or write a custom migration). To move, in a Drizzle project, set the `db:generate`
|
|
42
|
+
script to `ddd-ts-kit drizzle-generate --name`, or run `npx ddd-ts-kit init --force`.
|
|
43
|
+
|
|
44
|
+
**One `regenerate` script for every derived file.** `npm run regenerate` runs
|
|
45
|
+
`ddd-ts-kit depcruise-config --write` then `npm run docs:generate` (the context documents, the
|
|
46
|
+
barrels, the OpenAPI and event documents, the clients): the one step after a change of route,
|
|
47
|
+
schema, event or config. To move, run `npx ddd-ts-kit init --force` after the upgrade, which adds
|
|
48
|
+
the script and allows it to agents.
|
|
49
|
+
|
|
50
|
+
**`generate adr` takes `--number <n>`.** A team that numbers its decision records by block
|
|
51
|
+
(`0401` for one story, `0701` for another) chooses the number instead of taking the highest plus
|
|
52
|
+
one. The number goes to the file, the `# ADR-NNNN` title and the `deviations` entry; a number
|
|
53
|
+
already taken, or one that is not a number, is refused.
|
|
54
|
+
|
|
55
|
+
**Where a shared type, a pure function and a strategy live in the domain.** `docs/ARCHITECTURE.md`
|
|
56
|
+
says it, with no new directory: a side-effect-free function on one value is a method of that value
|
|
57
|
+
object, a computation over several is a domain service, a shape of business data is a value object,
|
|
58
|
+
an interchangeable rule is an abstract class of `domain/services/` with its implementations.
|
|
59
|
+
`test/spec-required` no longer asks a spec of a file that exports abstract classes only; each
|
|
60
|
+
implementation keeps its own.
|
|
61
|
+
|
|
62
|
+
**The integration specs of a generated project give the test database a minute to open.** Their
|
|
63
|
+
hooks had the default 10 seconds of Vitest, which opening PGlite outlasted under coverage on a busy
|
|
64
|
+
machine. To move, add `hookTimeout: 60_000` to the `integration` project of `vitest.config.ts`, or
|
|
65
|
+
run `npx ddd-ts-kit init --force`.
|
|
66
|
+
|
|
7
67
|
## 0.20.0
|
|
8
68
|
|
|
9
69
|
**A permission no role holds is said.** In a project whose rights are roles (`stack.authz`
|
package/README.fr.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[English](README.md) · **Français**
|
|
2
|
-
<!-- translation-of: README.md sha256:
|
|
2
|
+
<!-- translation-of: README.md sha256:91cb20f36ff1d090 -->
|
|
3
3
|
|
|
4
4
|
# ddd-ts-kit
|
|
5
5
|
|
|
@@ -1085,16 +1085,25 @@ un contexte ; `--json` affiche `{ count, remaining: [{ kind, context, file, line
|
|
|
1085
1085
|
## worker-scope
|
|
1086
1086
|
|
|
1087
1087
|
```
|
|
1088
|
-
ddd-ts-kit worker-scope <context> [--worktree <path>] [--branch <name>] [--dry-run]
|
|
1088
|
+
ddd-ts-kit worker-scope <context> [--base <ref>] [--rows <id,...>] [--worktree <path>] [--branch <name>] [--dry-run]
|
|
1089
1089
|
```
|
|
1090
1090
|
|
|
1091
1091
|
Prépare la place d'un *worker* d'un build réparti par contexte : crée un *worktree* git du projet
|
|
1092
|
-
(`../<project>-<context>` par défaut) sur la branche `build/<context>`,
|
|
1092
|
+
(`../<project>-<context>` par défaut) sur la branche `build/<context>`, à partir de `--base` (une
|
|
1093
|
+
branche, une étiquette ou un *commit* : `origin/main` ; par défaut la branche courante), y écrit
|
|
1093
1094
|
`.ddd-ts-kit/worker.json` (`{ "context": "<context>" }` ; `init` ignore `.ddd-ts-kit/`), et
|
|
1094
1095
|
affiche la consigne du *worker* : son périmètre, les générateurs qu'il peut lancer, ses tranches
|
|
1095
|
-
encore à faire d'après `docs/architecture/slices.md`, les langages publiés qu'il consomme
|
|
1096
|
-
|
|
1097
|
-
|
|
1096
|
+
encore à faire d'après `docs/architecture/slices.md`, les langages publiés qu'il consomme, et la
|
|
1097
|
+
base comme tronc de ses vérifications (`check --changed-since <base>`). `--rows 4.15,4.16` ne
|
|
1098
|
+
donne que ces lignes, dans cet ordre : un identifiant est lu tel qu'il est écrit, et une ligne
|
|
1099
|
+
absente du fichier, présente deux fois ou confiée à un autre propriétaire est refusée. Chaque
|
|
1100
|
+
ligne porte ses règles, lues sur une ligne `- #<id>: <règles>` sous les tableaux ; au-delà de
|
|
1101
|
+
deux lignes, une note le signale, car un agent en tient une ou deux. Un *worktree* existant, ou
|
|
1102
|
+
une branche existante, est gardé quand il contient la base et refusé sinon, pour qu'aucun
|
|
1103
|
+
*worker* ne construise sur un tronc périmé ; seul le fichier est réécrit. Sans `--base`, lancé
|
|
1104
|
+
depuis le *worktree* d'un *worker* (son `.ddd-ts-kit/worker.json`, ou une branche
|
|
1105
|
+
`build/<context>`), il refuse : cette branche deviendrait le tronc. `--dry-run` ne crée et
|
|
1106
|
+
n'écrit rien. Il faut un dépôt git avec au moins un *commit*. Le *worker* génère ensuite avec
|
|
1098
1107
|
`--local-only`.
|
|
1099
1108
|
|
|
1100
1109
|
## affected
|
package/README.md
CHANGED
|
@@ -1034,15 +1034,23 @@ context; `--json` prints `{ count, remaining: [{ kind, context, file, line, text
|
|
|
1034
1034
|
## worker-scope
|
|
1035
1035
|
|
|
1036
1036
|
```
|
|
1037
|
-
ddd-ts-kit worker-scope <context> [--worktree <path>] [--branch <name>] [--dry-run]
|
|
1037
|
+
ddd-ts-kit worker-scope <context> [--base <ref>] [--rows <id,...>] [--worktree <path>] [--branch <name>] [--dry-run]
|
|
1038
1038
|
```
|
|
1039
1039
|
|
|
1040
1040
|
Prepares the place of one worker of a build split by context: creates a git worktree of the
|
|
1041
|
-
project (`../<project>-<context>` by default) on the branch `build/<context>`,
|
|
1041
|
+
project (`../<project>-<context>` by default) on the branch `build/<context>`, cut from
|
|
1042
|
+
`--base` (a branch, a tag or a commit: `origin/main`; by default the current branch), writes
|
|
1042
1043
|
`.ddd-ts-kit/worker.json` in it (`{ "context": "<context>" }`; `init` ignores `.ddd-ts-kit/`), and
|
|
1043
1044
|
prints the briefing of the worker: its scope, the generators it may run, its slices still to do
|
|
1044
|
-
from `docs/architecture/slices.md`, the published languages it consumes
|
|
1045
|
-
|
|
1045
|
+
from `docs/architecture/slices.md`, the published languages it consumes, and the base as the
|
|
1046
|
+
trunk of its checks (`check --changed-since <base>`). `--rows 4.15,4.16` briefs those rows only,
|
|
1047
|
+
in that order: an id is read as written, and a row the file does not have, has twice or gives to
|
|
1048
|
+
another owner is refused. Each row carries its rules, from a line `- #<id>: <rules>` under the
|
|
1049
|
+
tables; more than two rows get a note, since an agent holds one or two. An existing worktree, or
|
|
1050
|
+
an existing branch, is kept when it contains the base and refused when it does not, so that no
|
|
1051
|
+
worker builds on a stale trunk; only the file is written again. Without `--base`, run from a
|
|
1052
|
+
worker's worktree (its `.ddd-ts-kit/worker.json`, or a branch `build/<context>`), it refuses:
|
|
1053
|
+
that branch would become the trunk. `--dry-run` creates and writes nothing. It needs a git
|
|
1046
1054
|
repository with one commit at least. The worker then generates with `--local-only`.
|
|
1047
1055
|
|
|
1048
1056
|
## affected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture-rules.d.ts","sourceRoot":"","sources":["../../../src/check/catalogue/architecture-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"architecture-rules.d.ts","sourceRoot":"","sources":["../../../src/check/catalogue/architecture-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAsF7C,gHAAgH;AAChH,eAAO,MAAM,kBAAkB,EAAE,SAAS,IAAI,EAqF7C,CAAC"}
|
|
@@ -17,6 +17,7 @@ import { cleanNoNoiseComment } from '../rules/clean-no-noise-comment.js';
|
|
|
17
17
|
import { cleanOneExportPerFile } from '../rules/clean-one-export-per-file.js';
|
|
18
18
|
import { cleanStepdown } from '../rules/clean-stepdown.js';
|
|
19
19
|
import { compositionOnlyInModule } from '../rules/composition-only-in-module.js';
|
|
20
|
+
import { configRuleOffEverywhere } from '../rules/config-rule-off-everywhere.js';
|
|
20
21
|
import { contextDeclaredRelationship } from '../rules/context-declared-relationship.js';
|
|
21
22
|
import { contextExtractable } from '../rules/context-extractable.js';
|
|
22
23
|
import { contextNoCycle } from '../rules/context-no-cycle.js';
|
|
@@ -145,6 +146,7 @@ export const ARCHITECTURE_RULES = [
|
|
|
145
146
|
tenancyScopedStatement,
|
|
146
147
|
standardNoParallelInterface,
|
|
147
148
|
governanceRecordedDeviation,
|
|
149
|
+
configRuleOffEverywhere,
|
|
148
150
|
compositionOnlyInModule,
|
|
149
151
|
declarationsRoleDeclared,
|
|
150
152
|
declarationsBarrelCurrent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture-rules.js","sourceRoot":"","sources":["../../../src/check/catalogue/architecture-rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"architecture-rules.js","sourceRoot":"","sources":["../../../src/check/catalogue/architecture-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-severities.d.ts","sourceRoot":"","sources":["../../../src/check/catalogue/default-severities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,0GAA0G;AAC1G,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"default-severities.d.ts","sourceRoot":"","sources":["../../../src/check/catalogue/default-severities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,0GAA0G;AAC1G,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAUjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-severities.js","sourceRoot":"","sources":["../../../src/check/catalogue/default-severities.ts"],"names":[],"mappings":"AAEA,0GAA0G;AAC1G,MAAM,CAAC,MAAM,kBAAkB,GAAuC;IACpE,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,uBAAuB,EAAE,MAAM;IAC/B,qBAAqB,EAAE,MAAM;IAC7B,wBAAwB,EAAE,MAAM;IAChC,wBAAwB,EAAE,MAAM;IAChC,sCAAsC,EAAE,MAAM;IAC9C,gCAAgC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"default-severities.js","sourceRoot":"","sources":["../../../src/check/catalogue/default-severities.ts"],"names":[],"mappings":"AAEA,0GAA0G;AAC1G,MAAM,CAAC,MAAM,kBAAkB,GAAuC;IACpE,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,uBAAuB,EAAE,MAAM;IAC/B,qBAAqB,EAAE,MAAM;IAC7B,wBAAwB,EAAE,MAAM;IAChC,wBAAwB,EAAE,MAAM;IAChC,sCAAsC,EAAE,MAAM;IAC9C,gCAAgC,EAAE,MAAM;IACxC,4BAA4B,EAAE,MAAM;CACrC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { Arguments } from '../../commands/arguments.js';
|
|
4
4
|
import {} from '../../commands/command.js';
|
|
5
|
-
import { CONFIG_FILE, isOneOf, readConfig, SEVERITIES } from '../../config/index.js';
|
|
5
|
+
import { CONFIG_FILE, isOneOf, projectSeverity, readConfig, SEVERITIES } from '../../config/index.js';
|
|
6
6
|
import { DEFAULT_SEVERITIES } from '../catalogue/default-severities.js';
|
|
7
7
|
import { DELEGATED_RULES } from '../catalogue/delegated-rules.js';
|
|
8
8
|
import { RULES } from '../catalogue/rules.js';
|
|
@@ -18,7 +18,7 @@ export const rulesCommand = (argv, io) => {
|
|
|
18
18
|
function listedRules(root) {
|
|
19
19
|
const configured = fs.existsSync(path.join(root, CONFIG_FILE)) ? readConfig(root).config.rules : {};
|
|
20
20
|
const severityOf = (id) => {
|
|
21
|
-
const severity = configured[id];
|
|
21
|
+
const severity = projectSeverity(configured[id]);
|
|
22
22
|
return isOneOf(SEVERITIES, severity) ? severity : (DEFAULT_SEVERITIES[id] ?? 'error');
|
|
23
23
|
};
|
|
24
24
|
const own = [...RULES, SUPPRESSION_RULE].map((rule) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-command.js","sourceRoot":"","sources":["../../../src/check/commands/rules-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAgB,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"rules-command.js","sourceRoot":"","sources":["../../../src/check/commands/rules-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-inspection.d.ts","sourceRoot":"","sources":["../../../src/check/configuration/config-inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,qGAAqG;AACrG,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFzB,YACmB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EAC7B;IAEJ,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,CAMjE;IAED,qBAAqB,IAAI,SAAS,EAAE,CAanC;IAED,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"config-inspection.d.ts","sourceRoot":"","sources":["../../../src/check/configuration/config-inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,qGAAqG;AACrG,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFzB,YACmB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EAC7B;IAEJ,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,CAMjE;IAED,qBAAqB,IAAI,SAAS,EAAE,CAanC;IAED,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,CAgClD;IAED,SAAS,IAAI,SAAS,EAAE,CAcvB;IAED,6EAA6E;IAC7E,eAAe,IAAI,SAAS,EAAE,CAc7B;IAED,2GAA2G;IAC3G,kBAAkB,IAAI,SAAS,EAAE,CAiBhC;IAED,oHAAoH;IACpH,YAAY,IAAI,SAAS,EAAE,CAI1B;IAED,mHAAmH;IACnH,QAAQ,IAAI,SAAS,EAAE,CAItB;IAED,0EAA0E;IAC1E,eAAe,IAAI,SAAS,EAAE,CAM7B;IAED,0EAA0E;IAC1E,WAAW,IAAI,SAAS,EAAE,CAEzB;IAED,gHAAgH;IAChH,kBAAkB,IAAI,SAAS,EAAE,CAIhC;IAED,qGAAqG;IACrG,oBAAoB,IAAI,SAAS,EAAE,CA4BlC;IAED,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,QAAQ;IAgChB,OAAO,CAAC,QAAQ;IAiBhB,qFAAqF;IACrF,OAAO,CAAC,QAAQ;CAGjB"}
|
|
@@ -26,17 +26,23 @@ export class ConfigInspection {
|
|
|
26
26
|
.map((name) => this.report({ file: `${contextsDir}/${name}`, line: 1 }, `The directory ${contextsDir}/${name} is not a declared context.`, fix));
|
|
27
27
|
}
|
|
28
28
|
ruleSettings(known) {
|
|
29
|
-
return Object.entries(this.project.config.rules).flatMap(([id,
|
|
29
|
+
return Object.entries(this.project.config.rules).flatMap(([id, setting]) => {
|
|
30
30
|
if (!known.includes(id)) {
|
|
31
31
|
return [
|
|
32
32
|
this.inConfig(id, `The rule "${id}" does not exist.`, 'Fix the id; `ddd-ts-kit rules` lists the valid ones.'),
|
|
33
33
|
];
|
|
34
34
|
}
|
|
35
|
+
const severity = typeof setting === 'string' ? setting : setting.severity;
|
|
35
36
|
if (!isOneOf(SEVERITIES, severity)) {
|
|
36
37
|
return [
|
|
37
38
|
this.inConfig(id, `The rule "${id}" has the severity "${severity}".`, `Use one of: ${SEVERITIES.join(', ')}.`),
|
|
38
39
|
];
|
|
39
40
|
}
|
|
41
|
+
if (typeof setting !== 'string' && setting.files.length === 0) {
|
|
42
|
+
return [
|
|
43
|
+
this.inConfig(id, `The rule "${id}" is set for some files, but "files" names none.`, 'List the files it is for in "files", as globs relative to the project root (`src/contexts/*/*.declarations.ts`), or write the severity alone for the whole project.'),
|
|
44
|
+
];
|
|
45
|
+
}
|
|
40
46
|
return [];
|
|
41
47
|
});
|
|
42
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-inspection.js","sourceRoot":"","sources":["../../../src/check/configuration/config-inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,aAAa,EACb,UAAU,GAGX,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qGAAqG;AACrG,MAAM,OAAO,gBAAgB;IAER,OAAO;IACP,MAAM;IAFzB,YACmB,OAAgB,EAChB,MAAc;uBADd,OAAO;sBACP,MAAM;IACtB,CAAC;IAEJ,eAAe,CAAC,IAAY,EAAE,OAAsB;QAClD,OAAO;YACL,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;YACrC,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACtD,MAAM,GAAG,GAAG,kCAAkC,WAAW,yCAAyC,CAAC;QAEnG,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc;aAC/B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,MAAM,CACT,EAAE,IAAI,EAAE,GAAG,WAAW,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAC3C,iBAAiB,WAAW,IAAI,IAAI,6BAA6B,EACjE,GAAG,CACJ,CACF,CAAC;IACN,CAAC;IAED,YAAY,CAAC,KAAwB;QACnC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"config-inspection.js","sourceRoot":"","sources":["../../../src/check/configuration/config-inspection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-check.d.ts","sourceRoot":"","sources":["../../../src/check/engine/run-check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAOnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"run-check.d.ts","sourceRoot":"","sources":["../../../src/check/engine/run-check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAOnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAqBlF"}
|
|
@@ -8,7 +8,9 @@ export function runCheck(project, options = {}) {
|
|
|
8
8
|
const selected = (id) => options.rules === undefined || options.rules.length === 0 || options.rules.includes(id);
|
|
9
9
|
const suppressions = project.files.flatMap(findSuppressions);
|
|
10
10
|
const active = RULES.filter((rule) => selected(rule.id) && project.severity(rule.id) !== 'off');
|
|
11
|
-
const raw = active
|
|
11
|
+
const raw = active
|
|
12
|
+
.flatMap((rule) => violationsOf(rule, project, options.fileScopeOnly === true))
|
|
13
|
+
.flatMap((violation) => placed(violation, project));
|
|
12
14
|
const kept = raw.filter((violation) => !isSuppressed(violation, suppressions));
|
|
13
15
|
const suppressedCount = raw.length - kept.length;
|
|
14
16
|
if (selected(SUPPRESSION_RULE_ID)) {
|
|
@@ -17,6 +19,20 @@ export function runCheck(project, options = {}) {
|
|
|
17
19
|
kept.sort((a, b) => a.file.localeCompare(b.file) || a.line - b.line || a.ruleId.localeCompare(b.ruleId));
|
|
18
20
|
return summarize(kept, { suppressedCount, suppressionCount: suppressions.length, fileCount: project.files.length });
|
|
19
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* A finding on a file a setting names takes its severity, or is dropped where the rule is off. A
|
|
24
|
+
* finding a rule raises above the severity of the project (the ceiling of clean/function-size) keeps it.
|
|
25
|
+
*/
|
|
26
|
+
function placed(violation, project) {
|
|
27
|
+
const severity = project.fileSeverity(violation.ruleId, violation.file);
|
|
28
|
+
if (severity === undefined) {
|
|
29
|
+
return [violation];
|
|
30
|
+
}
|
|
31
|
+
if (severity === 'off') {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
return [violation.severity === project.severity(violation.ruleId) ? { ...violation, severity } : violation];
|
|
35
|
+
}
|
|
20
36
|
function violationsOf(rule, project, oneFileOnly) {
|
|
21
37
|
if (!oneFileOnly) {
|
|
22
38
|
return [...rule.run(project), ...(rule.acrossProject?.(project) ?? [])];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-check.js","sourceRoot":"","sources":["../../../src/check/engine/run-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAS3C,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,OAAO,GAAiB,EAAE;IACnE,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAW,EAAE,CACvC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE1F,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"run-check.js","sourceRoot":"","sources":["../../../src/check/engine/run-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,7 @@ export abstract class TaxGateway {}
|
|
|
63
63
|
export interface IssueInvoiceResult { readonly invoiceId: string }`,
|
|
64
64
|
},
|
|
65
65
|
'clean/file-size': {
|
|
66
|
-
why: 'Past a few hundred lines a file holds more than one responsibility: nobody reads it whole, and every change touches something unrelated. The limit is 350 physical lines, for sources and tests alike, and is not configurable. A long test file is split by behaviour, a long source by concept. Generated files (a path segment named generated) and declaration files are not judged.',
|
|
66
|
+
why: 'Past a few hundred lines a file holds more than one responsibility: nobody reads it whole, and every change touches something unrelated. The limit is 350 physical lines, for sources and tests alike, and is not configurable. A long test file is split by behaviour, a long source by concept. Generated files (a path segment named generated, the <context>.declarations.ts and <context>.dependencies.ts at the root of a context) and declaration files are not judged.',
|
|
67
67
|
bad: `// application/commands/issue-invoice/issue-invoice.handler.ts, 600 lines:
|
|
68
68
|
// the handler, its validation, its mapping and three helpers`,
|
|
69
69
|
good: `// issue-invoice.handler.ts orchestrates, in 40 lines;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-docs.js","sourceRoot":"","sources":["../../../src/check/explain/layout-docs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAsC;IAC5D,uBAAuB,EAAE;QACvB,GAAG,EAAE,qXAAqX;QAC1X,GAAG,EAAE;;;;;;EAMP;QACE,IAAI,EAAE;;;;;;EAMR;KACC;IACD,mBAAmB,EAAE;QACnB,GAAG,EAAE,qgBAAqgB;QAC1gB,GAAG,EAAE;;;;EAIP;QACE,IAAI,EAAE;;;;EAIR;KACC;IACD,cAAc,EAAE;QACd,GAAG,EAAE,ieAAie;QACte,GAAG,EAAE;;;;0CAIiC;QACtC,IAAI,EAAE;;;;;;;;;;EAUR;KACC;IACD,2BAA2B,EAAE;QAC3B,GAAG,EAAE,yrBAAyrB;QAC9rB,GAAG,EAAE;;;;iCAIwB;QAC7B,IAAI,EAAE;;;;;mEAKyD;KAChE;IACD,iBAAiB,EAAE;QACjB,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"layout-docs.js","sourceRoot":"","sources":["../../../src/check/explain/layout-docs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAsC;IAC5D,uBAAuB,EAAE;QACvB,GAAG,EAAE,qXAAqX;QAC1X,GAAG,EAAE;;;;;;EAMP;QACE,IAAI,EAAE;;;;;;EAMR;KACC;IACD,mBAAmB,EAAE;QACnB,GAAG,EAAE,qgBAAqgB;QAC1gB,GAAG,EAAE;;;;EAIP;QACE,IAAI,EAAE;;;;EAIR;KACC;IACD,cAAc,EAAE;QACd,GAAG,EAAE,ieAAie;QACte,GAAG,EAAE;;;;0CAIiC;QACtC,IAAI,EAAE;;;;;;;;;;EAUR;KACC;IACD,2BAA2B,EAAE;QAC3B,GAAG,EAAE,yrBAAyrB;QAC9rB,GAAG,EAAE;;;;iCAIwB;QAC7B,IAAI,EAAE;;;;;mEAKyD;KAChE;IACD,iBAAiB,EAAE;QACjB,GAAG,EAAE,gdAAgd;QACrd,GAAG,EAAE;8DACqD;QAC1D,IAAI,EAAE;wFAC8E;KACrF;CACF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const PERSISTENCE_DOCS = {
|
|
2
2
|
'persistence/migration-history': {
|
|
3
|
-
why: 'Migrations are applied in the order of their names, and several people add them at the same time. Numbered by an index, two branches each write `0002_...` and the order between them is a guess; named by a random word, nobody knows what a migration does. A timestamp and a description, `20261012093000_add-invoices`, keep every branch apart. drizzle-kit adds a journal and a chain of snapshots on top: its migrator applies only the entries newer than the last one a database applied, so an entry merged out of order is skipped without a word, and a snapshot generated from the same parent as another makes the next migration miss a change. After a merge, the migration of the branch is generated again on top of the main branch.',
|
|
3
|
+
why: 'Migrations are applied in the order of their names, and several people add them at the same time. Numbered by an index, two branches each write `0002_...` and the order between them is a guess; named by a random word, nobody knows what a migration does. A timestamp and a description, `20261012093000_add-invoices`, keep every branch apart. drizzle-kit adds a journal and a chain of snapshots on top: its migrator applies only the entries newer than the last one a database applied, so an entry merged out of order is skipped without a word, and a snapshot generated from the same parent as another makes the next migration miss a change. After a merge, the migration of the branch is generated again on top of the main branch. A worker of a parallel build names the migration it needs `working-<what-it-does>`: its branch runs green in its worktree, and the conductor generates the real one on the trunk, so a working migration found outside a worktree is one that was merged as is.',
|
|
4
4
|
bad: `migrations/
|
|
5
5
|
0002_brave_falcon.sql # an index, a random name
|
|
6
6
|
0002_quiet_owl.sql # the same index, from another branch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence-docs.js","sourceRoot":"","sources":["../../../src/check/explain/persistence-docs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAsC;IACjE,+BAA+B,EAAE;QAC/B,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"persistence-docs.js","sourceRoot":"","sources":["../../../src/check/explain/persistence-docs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAsC;IACjE,+BAA+B,EAAE;QAC/B,GAAG,EAAE,y9BAAy9B;QAC99B,GAAG,EAAE;;;wFAG+E;QACpF,IAAI,EAAE;;;kGAGwF;KAC/F;IACD,6BAA6B,EAAE;QAC7B,GAAG,EAAE,ugBAAugB;QAC5gB,GAAG,EAAE;;;IAGL;QACA,IAAI,EAAE;;;;;IAKN;KACD;IACD,0BAA0B,EAAE;QAC1B,GAAG,EAAE,0YAA0Y;QAC/Y,GAAG,EAAE;;;;EAIP;QACE,IAAI,EAAE;;;;EAIR;KACC;CACF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const TREE_DOCS = {
|
|
2
2
|
'tree/closed': {
|
|
3
|
-
why: 'A fixed tree means every concept has one obvious place, so people and tools find it without reading the code. An ad hoc folder (utils, helpers, common) is where unnamed concepts go to hide
|
|
3
|
+
why: 'A fixed tree means every concept has one obvious place, so people and tools find it without reading the code. An ad hoc folder (utils, helpers, common, types, functions) is where unnamed concepts go to hide: a function that reads a value is a method of that value object, a decision over several objects a domain service, a shared shape of data a value object, an interchangeable rule an abstract class of domain/services with one service per variant (docs/ARCHITECTURE.md, a concept with no role of its own). A real new need is declared in extraDirectories with its reason. In the declared style the generated barrel <context>.declarations.ts lives at the root of the context, next to CONTEXT.md; a module file may stay there when the wiring of a context is unusual.',
|
|
4
4
|
bad: `contexts/billing/domain/utils/rounding.ts`,
|
|
5
5
|
good: `contexts/billing/domain/value-objects/money.vo.ts
|
|
6
6
|
contexts/billing/billing.declarations.ts // declared style only`,
|
|
@@ -60,7 +60,7 @@ export class Invoice {}
|
|
|
60
60
|
export class InvoiceLine {}`,
|
|
61
61
|
},
|
|
62
62
|
'test/spec-required': {
|
|
63
|
-
why: 'Aggregates, value objects, domain services, handlers and jobs hold the business behaviour and what triggers it; an untested one is an unverified rule. Requiring the spec file makes the missing test visible at the moment the code is written.',
|
|
63
|
+
why: 'Aggregates, value objects, domain services, handlers and jobs hold the business behaviour and what triggers it; an untested one is an unverified rule. Requiring the spec file makes the missing test visible at the moment the code is written. An abstract base (every exported class abstract, no exported function), such as a strategy of domain/services, needs none: the specs of its implementations hold its behaviour.',
|
|
64
64
|
bad: `domain/aggregates/invoice.aggregate.ts with no test/**/invoice.aggregate.spec.ts`,
|
|
65
65
|
good: `test/unit/invoice.aggregate.spec.ts`,
|
|
66
66
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-docs.js","sourceRoot":"","sources":["../../../src/check/explain/tree-docs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAsC;IAC1D,aAAa,EAAE;QACb,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"tree-docs.js","sourceRoot":"","sources":["../../../src/check/explain/tree-docs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAsC;IAC1D,aAAa,EAAE;QACb,GAAG,EAAE,iwBAAiwB;QACtwB,GAAG,EAAE,2CAA2C;QAChD,IAAI,EAAE;kEACwD;KAC/D;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,4OAA4O;QACjP,GAAG,EAAE,6GAA6G;QAClH,IAAI,EAAE,6GAA6G;KACpH;IACD,eAAe,EAAE;QACf,GAAG,EAAE,y3BAAy3B;QAC93B,GAAG,EAAE,8BAA8B;QACnC,IAAI,EAAE;;;;qEAI2D;KAClE;IACD,wBAAwB,EAAE;QACxB,GAAG,EAAE,kyBAAkyB;QACvyB,GAAG,EAAE;;;;kCAIyB;QAC9B,IAAI,EAAE;;;;;oCAK0B;KACjC;IACD,sBAAsB,EAAE;QACtB,GAAG,EAAE,svCAAsvC;QAC3vC,GAAG,EAAE;;;EAGP;QACE,IAAI,EAAE;;;EAGR;KACC;IACD,6BAA6B,EAAE;QAC7B,GAAG,EAAE,kYAAkY;QACvY,GAAG,EAAE;;;;;;;2CAOkC;QACvC,IAAI,EAAE;;;4BAGkB;KACzB;IACD,oBAAoB,EAAE;QACpB,GAAG,EAAE,kaAAka;QACva,GAAG,EAAE,kFAAkF;QACvF,IAAI,EAAE,qCAAqC;KAC5C;IACD,wBAAwB,EAAE;QACxB,GAAG,EAAE,y9BAAy9B;QAC99B,GAAG,EAAE;;;uBAGc;QACnB,IAAI,EAAE;;;;;;uFAM6E;KACpF;IACD,eAAe,EAAE;QACf,GAAG,EAAE,4SAA4S;QACjT,GAAG,EAAE;gDACuC;QAC5C,IAAI,EAAE;qDAC2C;KAClD;IACD,uBAAuB,EAAE;QACvB,GAAG,EAAE,gUAAgU;QACrU,GAAG,EAAE,iFAAiF;QACtF,IAAI,EAAE;8BACoB;KAC3B;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiring-docs.d.ts","sourceRoot":"","sources":["../../../src/check/explain/wiring-docs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"wiring-docs.d.ts","sourceRoot":"","sources":["../../../src/check/explain/wiring-docs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuFzD,CAAC"}
|
|
@@ -63,6 +63,13 @@ export class IssueInvoiceHandler {
|
|
|
63
63
|
private readonly clock: Clock,
|
|
64
64
|
) {}
|
|
65
65
|
}`,
|
|
66
|
+
},
|
|
67
|
+
'config/rule-off-everywhere': {
|
|
68
|
+
why: 'An exception is decided for some files: generated mappers, a legacy module, a migration script. Written as "off" alone, it silences the rule in every file of the project, and the real findings in the others go unseen; the decision record says why the rule is off, not that the exception grew to the whole project. A rule set for some files keeps judging the rest. When the whole project is really meant, "files": ["**"] says it in so many words.',
|
|
69
|
+
bad: `"rules": { "clean/function-size": "off" },
|
|
70
|
+
"deviations": [{ "what": "rules.clean/function-size", "adr": "0004", "reason": "The generated mappers of the legacy ledger are long." }]`,
|
|
71
|
+
good: `"rules": { "clean/function-size": { "severity": "off", "files": ["src/contexts/ledger/infrastructure/legacy/*.mapper.ts"] } },
|
|
72
|
+
"deviations": [{ "what": "rules.clean/function-size", "adr": "0004", "reason": "The generated mappers of the legacy ledger are long." }]`,
|
|
66
73
|
},
|
|
67
74
|
'config/valid': {
|
|
68
75
|
why: 'Every other rule reads the config: a misspelled upstream or rule id silently disables a check. The contexts on disk and in the config have to be the same set, or part of the code is not checked at all. A function limit above the ceiling of 100 lines and an allowance without a file or a reason are read as something else than what is written, so they are reported too.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiring-docs.js","sourceRoot":"","sources":["../../../src/check/explain/wiring-docs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAsC;IAC5D,4BAA4B,EAAE;QAC5B,GAAG,EAAE,qnBAAqnB;QAC1nB,GAAG,EAAE;;;sCAG6B;QAClC,IAAI,EAAE;;;;;;+CAMqC;KAC5C;IACD,4BAA4B,EAAE;QAC5B,GAAG,EAAE,irBAAirB;QACtrB,GAAG,EAAE;;;;;;wBAMe;QACpB,IAAI,EAAE;;;;;0CAKgC;KACvC;IACD,6BAA6B,EAAE;QAC7B,GAAG,EAAE,60BAA60B;QACl1B,GAAG,EAAE;;;;oDAI2C;QAChD,IAAI,EAAE;;;;;2DAKiD;KACxD;IACD,oCAAoC,EAAE;QACpC,GAAG,EAAE,omCAAomC;QACzmC,GAAG,EAAE;;;;;;;;;iEASwD;QAC7D,IAAI,EAAE;;;;;;;EAOR;KACC;IACD,cAAc,EAAE;QACd,GAAG,EAAE,kXAAkX;QACvX,GAAG,EAAE;;uEAE8D;QACnE,IAAI,EAAE;;2IAEiI;KACxI;IACD,iCAAiC,EAAE;QACjC,GAAG,EAAE,qMAAqM;QAC1M,GAAG,EAAE,qDAAqD;QAC1D,IAAI,EAAE,qGAAqG;KAC5G;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"wiring-docs.js","sourceRoot":"","sources":["../../../src/check/explain/wiring-docs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAsC;IAC5D,4BAA4B,EAAE;QAC5B,GAAG,EAAE,qnBAAqnB;QAC1nB,GAAG,EAAE;;;sCAG6B;QAClC,IAAI,EAAE;;;;;;+CAMqC;KAC5C;IACD,4BAA4B,EAAE;QAC5B,GAAG,EAAE,irBAAirB;QACtrB,GAAG,EAAE;;;;;;wBAMe;QACpB,IAAI,EAAE;;;;;0CAKgC;KACvC;IACD,6BAA6B,EAAE;QAC7B,GAAG,EAAE,60BAA60B;QACl1B,GAAG,EAAE;;;;oDAI2C;QAChD,IAAI,EAAE;;;;;2DAKiD;KACxD;IACD,oCAAoC,EAAE;QACpC,GAAG,EAAE,omCAAomC;QACzmC,GAAG,EAAE;;;;;;;;;iEASwD;QAC7D,IAAI,EAAE;;;;;;;EAOR;KACC;IACD,4BAA4B,EAAE;QAC5B,GAAG,EAAE,+bAA+b;QACpc,GAAG,EAAE;yIACgI;QACrI,IAAI,EAAE;yIAC+H;KACtI;IACD,cAAc,EAAE;QACd,GAAG,EAAE,kXAAkX;QACvX,GAAG,EAAE;;uEAE8D;QACnE,IAAI,EAAE;;2IAEiI;KACxI;IACD,iCAAiC,EAAE;QACjC,GAAG,EAAE,qMAAqM;QAC1M,GAAG,EAAE,qDAAqD;QAC1D,IAAI,EAAE,qGAAqG;KAC5G;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-fixtures.d.ts","sourceRoot":"","sources":["../../../src/check/fixtures/config-fixtures.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"config-fixtures.d.ts","sourceRoot":"","sources":["../../../src/check/fixtures/config-fixtures.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAU5C,eAAO,MAAM,eAAe,EAAE,SAAS,OAAO,EAkK7C,CAAC"}
|
|
@@ -5,7 +5,9 @@ import { contextDoc } from './context-doc.js';
|
|
|
5
5
|
import { PATHS } from './paths.js';
|
|
6
6
|
import { project } from './project.js';
|
|
7
7
|
import { SAMPLES } from './samples.js';
|
|
8
|
+
import { source } from './source.js';
|
|
8
9
|
const { AGGREGATE, DECIMAL_ADR } = PATHS;
|
|
10
|
+
const LONG_FILE = 'src/platform/ledger-import.ts';
|
|
9
11
|
const { RECORD } = SAMPLES;
|
|
10
12
|
export const CONFIG_FIXTURES = [
|
|
11
13
|
{
|
|
@@ -14,7 +16,11 @@ export const CONFIG_FIXTURES = [
|
|
|
14
16
|
expect: 'pass',
|
|
15
17
|
files: project({}, {
|
|
16
18
|
[CONFIG_FILE]: config({
|
|
17
|
-
rules: {
|
|
19
|
+
rules: {
|
|
20
|
+
'naming/suffix': 'warn',
|
|
21
|
+
'test/spec-required': { severity: 'off', files: ['src/contexts/catalog/**'] },
|
|
22
|
+
'domain/no-generic-error': 'warn',
|
|
23
|
+
},
|
|
18
24
|
guard: 'advise',
|
|
19
25
|
limits: { maxFunctionLines: 100 },
|
|
20
26
|
onePerFile: {
|
|
@@ -102,5 +108,48 @@ export const CONFIG_FIXTURES = [
|
|
|
102
108
|
also: ['layer/domain-purity'],
|
|
103
109
|
files: project(aggregate("// ddd-ts-kit-disable-next-line layer/domain-purity\nimport Decimal from 'decimal.js';\nexport class Invoice { total = new Decimal(0); }\n")),
|
|
104
110
|
},
|
|
111
|
+
{
|
|
112
|
+
ruleId: 'config/valid',
|
|
113
|
+
name: 'a rule set for some files that names none',
|
|
114
|
+
expect: { file: CONFIG_FILE },
|
|
115
|
+
files: project({}, { [CONFIG_FILE]: config({ rules: { 'clean/file-size': { severity: 'off', files: [] } } }) }),
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
ruleId: 'config/rule-off-everywhere',
|
|
119
|
+
name: 'a rule off for the files it is meant for, and one off on purpose everywhere',
|
|
120
|
+
expect: 'pass',
|
|
121
|
+
files: project({}, {
|
|
122
|
+
[CONFIG_FILE]: config({
|
|
123
|
+
rules: {
|
|
124
|
+
'clean/function-size': { severity: 'off', files: ['src/platform/legacy/**'] },
|
|
125
|
+
'test/builder-required': { severity: 'off', files: ['**'] },
|
|
126
|
+
},
|
|
127
|
+
}),
|
|
128
|
+
}),
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
ruleId: 'config/rule-off-everywhere',
|
|
132
|
+
name: 'a rule off for the whole project',
|
|
133
|
+
expect: { file: CONFIG_FILE },
|
|
134
|
+
files: project({}, { [CONFIG_FILE]: config({ rules: { 'clean/function-size': 'off' } }) }),
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
ruleId: 'clean/file-size',
|
|
138
|
+
name: 'a long file among the files the rule is off for',
|
|
139
|
+
expect: 'pass',
|
|
140
|
+
files: project({ [LONG_FILE]: longFile() }, { [CONFIG_FILE]: config({ rules: { 'clean/file-size': { severity: 'off', files: ['src/platform/*.ts'] } } }) }),
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
ruleId: 'clean/file-size',
|
|
144
|
+
name: 'a long file outside the files the rule is off for',
|
|
145
|
+
expect: { file: LONG_FILE },
|
|
146
|
+
files: project({ [LONG_FILE]: longFile() }, {
|
|
147
|
+
[CONFIG_FILE]: config({ rules: { 'clean/file-size': { severity: 'off', files: ['src/platform/legacy/**'] } } }),
|
|
148
|
+
}),
|
|
149
|
+
},
|
|
105
150
|
];
|
|
151
|
+
/** A source of 351 lines, one past the limit of clean/file-size. */
|
|
152
|
+
function longFile() {
|
|
153
|
+
return source('export const lines = [', ...Array.from({ length: 349 }, (_, index) => ` ${index},`), '];');
|
|
154
|
+
}
|
|
106
155
|
//# sourceMappingURL=config-fixtures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-fixtures.js","sourceRoot":"","sources":["../../../src/check/fixtures/config-fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"config-fixtures.js","sourceRoot":"","sources":["../../../src/check/fixtures/config-fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance-fixtures.d.ts","sourceRoot":"","sources":["../../../src/check/fixtures/governance-fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQ5C,eAAO,MAAM,mBAAmB,EAAE,SAAS,OAAO,
|
|
1
|
+
{"version":3,"file":"governance-fixtures.d.ts","sourceRoot":"","sources":["../../../src/check/fixtures/governance-fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQ5C,eAAO,MAAM,mBAAmB,EAAE,SAAS,OAAO,EAoHjD,CAAC"}
|
|
@@ -17,7 +17,11 @@ export const GOVERNANCE_FIXTURES = [
|
|
|
17
17
|
'docs/adr/0007-legacy-import.md': RECORD,
|
|
18
18
|
}, {
|
|
19
19
|
[CONFIG_FILE]: config({
|
|
20
|
-
rules: {
|
|
20
|
+
rules: {
|
|
21
|
+
'test/builder-required': { severity: 'off', files: ['src/contexts/billing/**'] },
|
|
22
|
+
'naming/suffix': 'warn',
|
|
23
|
+
'test/no-mocks': 'error',
|
|
24
|
+
},
|
|
21
25
|
guard: 'advise',
|
|
22
26
|
domainAllowedPackages: ['@ddd-ts-kit/kernel', 'decimal.js'],
|
|
23
27
|
deviations: [
|
|
@@ -63,9 +67,14 @@ export const GOVERNANCE_FIXTURES = [
|
|
|
63
67
|
},
|
|
64
68
|
{
|
|
65
69
|
ruleId: 'governance/recorded-deviation',
|
|
66
|
-
name: 'a rule switched off without a deviation',
|
|
70
|
+
name: 'a rule switched off for some files without a deviation',
|
|
67
71
|
expect: { file: CONFIG_FILE },
|
|
68
|
-
files: project({}, {
|
|
72
|
+
files: project({}, {
|
|
73
|
+
[CONFIG_FILE]: config({
|
|
74
|
+
rules: { 'test/spec-required': { severity: 'off', files: ['src/contexts/catalog/**'] } },
|
|
75
|
+
deviations: [],
|
|
76
|
+
}),
|
|
77
|
+
}),
|
|
69
78
|
},
|
|
70
79
|
{
|
|
71
80
|
ruleId: 'governance/recorded-deviation',
|