@trebired/code-discipline 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +127 -86
  3. package/dist/checks/fix-folderization.d.ts +2 -1
  4. package/dist/checks/fix-folderization.d.ts.map +1 -1
  5. package/dist/checks/fix-folderization.js +16 -12
  6. package/dist/checks/fix-folderization.js.map +1 -1
  7. package/dist/checks/index.d.ts +1 -2
  8. package/dist/checks/index.d.ts.map +1 -1
  9. package/dist/checks/index.js +43 -20
  10. package/dist/checks/index.js.map +1 -1
  11. package/dist/checks/rules/folderize-compound-files.d.ts +2 -1
  12. package/dist/checks/rules/folderize-compound-files.d.ts.map +1 -1
  13. package/dist/checks/rules/folderize-compound-files.js +3 -1
  14. package/dist/checks/rules/folderize-compound-files.js.map +1 -1
  15. package/dist/checks/rules/folderize-plan.js +1 -1
  16. package/dist/checks/rules/folderize-plan.js.map +1 -1
  17. package/dist/checks/rules/max-file-lines.d.ts +2 -1
  18. package/dist/checks/rules/max-file-lines.d.ts.map +1 -1
  19. package/dist/checks/rules/max-file-lines.js +3 -3
  20. package/dist/checks/rules/max-file-lines.js.map +1 -1
  21. package/dist/checks/types.d.ts +17 -38
  22. package/dist/checks/types.d.ts.map +1 -1
  23. package/dist/cli/run-cli.d.ts.map +1 -1
  24. package/dist/cli/run-cli.js +27 -36
  25. package/dist/cli/run-cli.js.map +1 -1
  26. package/dist/config/index.d.ts +3 -3
  27. package/dist/config/index.d.ts.map +1 -1
  28. package/dist/config/index.js +14 -35
  29. package/dist/config/index.js.map +1 -1
  30. package/dist/config/normalize-rule-options.d.ts +5 -8
  31. package/dist/config/normalize-rule-options.d.ts.map +1 -1
  32. package/dist/config/normalize-rule-options.js +24 -23
  33. package/dist/config/normalize-rule-options.js.map +1 -1
  34. package/dist/config/normalize-sync-imports-options.d.ts.map +1 -1
  35. package/dist/config/normalize-sync-imports-options.js +13 -4
  36. package/dist/config/normalize-sync-imports-options.js.map +1 -1
  37. package/dist/imports/check-sync-imports.d.ts +1 -1
  38. package/dist/imports/check-sync-imports.d.ts.map +1 -1
  39. package/dist/imports/check-sync-imports.js +2 -4
  40. package/dist/imports/check-sync-imports.js.map +1 -1
  41. package/dist/imports/sync-imports.d.ts.map +1 -1
  42. package/dist/imports/sync-imports.js +26 -20
  43. package/dist/imports/sync-imports.js.map +1 -1
  44. package/dist/imports/types.d.ts +6 -4
  45. package/dist/imports/types.d.ts.map +1 -1
  46. package/dist/index.d.ts +6 -3
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +3 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/run.d.ts +48 -0
  51. package/dist/run.d.ts.map +1 -0
  52. package/dist/run.js +105 -0
  53. package/dist/run.js.map +1 -0
  54. package/dist/shared/constants.d.ts +2 -3
  55. package/dist/shared/constants.d.ts.map +1 -1
  56. package/dist/shared/constants.js +2 -3
  57. package/dist/shared/constants.js.map +1 -1
  58. package/dist/shared/discipline-types.d.ts +19 -0
  59. package/dist/shared/discipline-types.d.ts.map +1 -0
  60. package/dist/shared/discipline-types.js +2 -0
  61. package/dist/shared/discipline-types.js.map +1 -0
  62. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to `@trebired/code-discipline` will be documented here.
4
4
 
5
+ ## 1.4.0
6
+
7
+ - Added `codeDiscipline({ mode, ... })` as the package-owned runtime dispatcher for `check`, `fix`, `sync`, and startup-style sync usage.
8
+ - Added `createCodeDiscipline(config)` so consuming apps can bind repo config once and call `.check()`, `.fix()`, `.sync()`, or `.startup()`.
9
+ - Refactored the package CLI to use the shared runtime dispatcher instead of maintaining separate command routing logic.
10
+ - Updated the README and tests around the simpler logger-style consumption path.
11
+
12
+ ## 1.3.0
13
+
14
+ - Replaced rule-level `stop` with severity-based discipline results using `severity: "error" | "warning"`.
15
+ - Removed legacy `stop` and per-rule `enabled` config support; rule presence now enables the rule.
16
+ - Removed JSON config auto-discovery and changed the CLI to require an explicit `--config` module path.
17
+ - Changed `syncImports()` to return severity-aware `errors`, `warnings`, and `violations` alongside its operational mutation summary.
18
+
5
19
  ## 1.2.0
6
20
 
7
21
  - Changed package logging to emit `@trebired/code-discipline initialized` on startup through the `code-discipline.initialize` group.
package/README.md CHANGED
@@ -19,16 +19,16 @@ Some repository rules are not really single-file lint rules. They are about the
19
19
  - files growing too large
20
20
  - compound filenames that want to become folders
21
21
  - alias drift between `tsconfig.json` and source imports
22
- - blocking or warning on repository policy in CI or startup flows
22
+ - returning structured policy results that a caller can interpret
23
23
 
24
24
  That is the lane of this package.
25
25
 
26
26
  ## Commands
27
27
 
28
28
  ```sh
29
- code-discipline check
30
- code-discipline sync
31
- code-discipline fix
29
+ code-discipline check --config ./discipline.config.mjs
30
+ code-discipline sync --config ./discipline.config.mjs
31
+ code-discipline fix --config ./discipline.config.mjs
32
32
  ```
33
33
 
34
34
  Command responsibilities stay clean:
@@ -39,74 +39,108 @@ Command responsibilities stay clean:
39
39
 
40
40
  Both `sync` and `fix` are gated by rule config. They do not mutate anything unless their rule has `fix: true`.
41
41
 
42
- ## Config
43
-
44
- Every rule uses the same control model:
42
+ ## Simple Runtime API
45
43
 
46
- ```txt
47
- enabled
48
- = whether the rule runs
44
+ For app startup or scripts, you can now use one package-owned entrypoint instead of hand-rolling mode dispatch in app code.
49
45
 
50
- stop
51
- = whether violations fail the result / exit non-zero
46
+ ```ts
47
+ import { codeDiscipline } from "@trebired/code-discipline";
52
48
 
53
- fix
54
- = whether explicit mutation commands may change files
49
+ const result = await codeDiscipline({
50
+ mode: "check",
51
+ projectRoot: process.cwd(),
52
+ rules: {
53
+ maxFileLines: {
54
+ severity: "warning",
55
+ max: 500,
56
+ },
57
+ },
58
+ });
55
59
  ```
56
60
 
57
- Example `code-discipline.config.json`:
58
-
59
- ```json
60
- {
61
- "sourceRoot": "src",
62
- "sourceExtensions": [
63
- ".ts",
64
- ".tsx",
65
- ".js",
66
- ".jsx"
67
- ],
68
- "excludeDirs": [
69
- "node_modules",
70
- "dist",
71
- ".vite"
72
- ],
73
- "rules": {
74
- "maxFileLines": {
75
- "enabled": true,
76
- "stop": true,
77
- "max": 500
78
- },
79
- "folderizeCompoundFiles": {
80
- "enabled": true,
81
- "stop": true,
82
- "fix": false,
83
- "separators": [
84
- "_",
85
- "-"
86
- ]
61
+ `mode: "startup"` is a convenience alias for sync-oriented startup flows:
62
+
63
+ ```ts
64
+ import { codeDiscipline } from "@trebired/code-discipline";
65
+
66
+ await codeDiscipline({
67
+ mode: "startup",
68
+ projectRoot: PROJECT_ROOT,
69
+ logger,
70
+ rules: {
71
+ syncImports: {
72
+ severity: "error",
73
+ fix: true,
74
+ alias: {
75
+ strategy: "relative-path-slug",
76
+ },
77
+ allowRelative: ["./"],
87
78
  },
88
- "syncImports": {
89
- "enabled": true,
90
- "stop": true,
91
- "fix": true,
92
- "alias": {
93
- "strategy": "relative-path-slug"
79
+ },
80
+ });
81
+ ```
82
+
83
+ If you want to define repo rules once and reuse them, create a bound helper:
84
+
85
+ ```ts
86
+ import { createCodeDiscipline } from "@trebired/code-discipline";
87
+
88
+ const discipline = createCodeDiscipline({
89
+ sourceRoot: "src",
90
+ rules: {
91
+ syncImports: {
92
+ severity: "error",
93
+ fix: true,
94
+ alias: {
95
+ strategy: "relative-path-slug",
94
96
  },
95
- "allowRelative": [
96
- "./"
97
- ]
98
- }
99
- }
100
- }
97
+ allowRelative: ["./"],
98
+ },
99
+ },
100
+ });
101
+
102
+ await discipline.startup({ projectRoot: PROJECT_ROOT, logger });
103
+ process.exitCode = (await discipline.check({ projectRoot: process.cwd() })).ok ? 0 : 1;
101
104
  ```
102
105
 
103
- Breaking cleanup in `1.0.0`:
106
+ ## Config
104
107
 
105
- - `severity` was removed
106
- - `suffixes` was removed
107
- - `keepRelative` was replaced by `allowRelative`
108
- - nested `syncImports.imports` was removed
109
- - `rewrite` was removed as a config flag because `fix` controls mutation
108
+ Rules are enabled by presence. If a rule object exists under `rules`, it runs. If the rule is omitted, it is disabled.
109
+
110
+ `severity` is discipline metadata, not a logger level and not process control. The library never calls `process.exit()` from core APIs. Callers decide what to do with `ok`, `errors`, and `warnings`.
111
+
112
+ Example config module:
113
+
114
+ ```js
115
+ export default {
116
+ sourceRoot: "src",
117
+ sourceExtensions: [".ts", ".tsx", ".js", ".jsx"],
118
+ excludeDirs: ["node_modules", "dist", ".vite"],
119
+ logging: {
120
+ enabled: true,
121
+ quiet: false,
122
+ },
123
+ rules: {
124
+ maxFileLines: {
125
+ severity: "warning",
126
+ max: 500,
127
+ },
128
+ folderizeCompoundFiles: {
129
+ severity: "error",
130
+ fix: true,
131
+ separators: ["_", "-"],
132
+ },
133
+ syncImports: {
134
+ severity: "error",
135
+ fix: true,
136
+ alias: {
137
+ strategy: "relative-path-slug",
138
+ },
139
+ allowRelative: ["./"],
140
+ },
141
+ },
142
+ };
143
+ ```
110
144
 
111
145
  ## Checks
112
146
 
@@ -119,18 +153,15 @@ const result = await checkCodeDiscipline({
119
153
  projectRoot: "/repo",
120
154
  rules: {
121
155
  maxFileLines: {
122
- enabled: true,
123
- stop: true,
156
+ severity: "warning",
124
157
  max: 500,
125
158
  },
126
159
  folderizeCompoundFiles: {
127
- enabled: true,
128
- stop: false,
160
+ severity: "error",
129
161
  separators: ["_", "-"],
130
162
  },
131
163
  syncImports: {
132
- enabled: true,
133
- stop: true,
164
+ severity: "error",
134
165
  fix: false,
135
166
  alias: {
136
167
  strategy: "relative-path-slug",
@@ -144,25 +175,31 @@ const result = await checkCodeDiscipline({
144
175
  Result shape:
145
176
 
146
177
  ```ts
147
- {
178
+ type CodeDisciplineSeverity = "error" | "warning";
179
+
180
+ type CodeDisciplineViolation = {
181
+ rule: "max-file-lines" | "folderize-compound-files" | "sync-imports";
182
+ severity: CodeDisciplineSeverity;
183
+ fix: boolean;
184
+ filePath: string;
185
+ message: string;
186
+ details: Record<string, unknown>;
187
+ suggestedPath?: string;
188
+ };
189
+
190
+ type CodeDisciplineResult = {
148
191
  ok: boolean;
192
+ errors: number;
149
193
  warnings: number;
150
- failures: number;
151
- violations: Array<{
152
- rule: "max-file-lines" | "folderize-compound-files" | "sync-imports";
153
- stop: boolean;
154
- fix: boolean;
155
- filePath: string;
156
- message: string;
157
- details: Record<string, unknown>;
158
- suggestedPath?: string;
159
- }>;
160
- }
194
+ violations: CodeDisciplineViolation[];
195
+ };
161
196
  ```
162
197
 
198
+ `ok` becomes `false` only when at least one returned violation has `severity: "error"`.
199
+
163
200
  ## Folderization
164
201
 
165
- `folderizeCompoundFiles` is structural. It no longer depends on configured suffix lists.
202
+ `folderizeCompoundFiles` is structural. It does not depend on configured suffix lists.
166
203
 
167
204
  Same-directory groups:
168
205
 
@@ -198,13 +235,14 @@ src/api/user/route.ts
198
235
 
199
236
  ## Import Sync
200
237
 
201
- `syncImports()` and `code-discipline sync` use one flat `syncImports` config.
238
+ `syncImports()` and `code-discipline sync` use the same severity-aware config shape.
202
239
 
203
240
  ```ts
204
241
  import { syncImports } from "@trebired/code-discipline";
205
242
 
206
243
  const result = await syncImports({
207
244
  projectRoot: "/repo",
245
+ severity: "error",
208
246
  fix: true,
209
247
  alias: {
210
248
  strategy: "relative-path-slug",
@@ -215,11 +253,13 @@ const result = await syncImports({
215
253
 
216
254
  Behavior:
217
255
 
218
- - `check` reports import-policy drift in read-only mode
219
- - `sync` rewrites imports and updates `tsconfig.json` only when `syncImports.fix` is `true`
256
+ - `fix: false` reports alias/import drift as violations
257
+ - `fix: true` rewrites imports and updates `tsconfig.json`
220
258
  - `allowRelative: ["./"]` keeps same-folder relative imports
221
259
  - upward relative imports can be reported or rewritten through the configured alias policy
222
260
 
261
+ `syncImports()` keeps its operational result fields and also returns `errors`, `warnings`, and `violations`.
262
+
223
263
  ## Logging
224
264
 
225
265
  When you provide a logger, discipline results are emitted through it. Trebired-style loggers are supported directly, and the package falls back safely when no logger is provided.
@@ -228,10 +268,11 @@ The default/common logger adaptation path is powered by `@trebired/logger-adapte
228
268
 
229
269
  ## Public API
230
270
 
271
+ - `codeDiscipline()`
272
+ - `createCodeDiscipline()`
231
273
  - `checkCodeDiscipline()`
232
274
  - `fixCodeDiscipline()`
233
275
  - `syncImports()`
234
276
  - `defineCodeDisciplineConfig()`
235
- - `loadCodeDisciplineConfig()`
236
277
 
237
- The package also exports the public TypeScript types for rule config, results, violations, alias strategies, logging adapters, and source scan rows.
278
+ The package also exports the public TypeScript types for severity, rule config, results, violations, alias strategies, logging adapters, and source scan rows.
@@ -1,6 +1,7 @@
1
- import type { CodeDisciplineViolation, FixCodeDisciplineResult, NormalizedCheckCodeDisciplineOptions } from "./types.js";
1
+ import type { FixCodeDisciplineResult, NormalizedCheckCodeDisciplineOptions } from "./types.js";
2
2
  import type { ScannedSourceFile } from "../imports/types.js";
3
3
  import type { NormalizedCodeDisciplineLogger } from "../shared/logging-types.js";
4
+ import type { CodeDisciplineViolation } from "../shared/discipline-types.js";
4
5
  type PlannedMove = {
5
6
  fromAbsolutePath: string;
6
7
  fromRelativePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fix-folderization.d.ts","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAOjF,KAAK,WAAW,GAAG;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,iBAAS,4BAA4B,CACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,oCAAoC,EAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,uBAAuB,CAUzB;AAED,iBAAS,aAAa,CACpB,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,uBAAuB,EAAE,CAAA;CAAE,CAqBjE;AAsKD,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAyElC;AAED,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"fix-folderization.d.ts","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAO7E,KAAK,WAAW,GAAG;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,iBAAS,4BAA4B,CACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,oCAAoC,EAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,uBAAuB,CAUzB;AAED,iBAAS,aAAa,CACpB,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,uBAAuB,EAAE,CAAA;CAAE,CAqBjE;AAsKD,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CA6ElC;AAED,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,CAAC"}
@@ -8,8 +8,8 @@ import { planFolderizeCompoundFiles } from "./rules/folderize-plan.js";
8
8
  function createFolderizationViolation(filePath, suggestedPath, options, details) {
9
9
  return {
10
10
  rule: "folderize-compound-files",
11
- stop: options.rules.folderizeCompoundFiles.stop,
12
- fix: options.rules.folderizeCompoundFiles.fix,
11
+ severity: options.rules.folderizeCompoundFiles?.severity ?? "error",
12
+ fix: options.rules.folderizeCompoundFiles?.fix ?? false,
13
13
  filePath,
14
14
  message: `file can be grouped under ${suggestedPath}`,
15
15
  suggestedPath,
@@ -156,33 +156,37 @@ async function removeEmptyDirectories(directories) {
156
156
  }
157
157
  async function fixFolderization(sourceFiles, options, logger) {
158
158
  const { moves, violations } = buildMovePlan(sourceFiles, options);
159
- const warnings = violations.filter((violation) => !violation.stop).length;
160
- const failures = violations.length - warnings;
161
- if (!options.rules.folderizeCompoundFiles.enabled || moves.length === 0) {
159
+ const warnings = violations.filter((violation) => violation.severity === "warning").length;
160
+ const errors = violations.length - warnings;
161
+ if (!options.rules.folderizeCompoundFiles || moves.length === 0) {
162
162
  logger.info("fix-folderization-unchanged", "no folderization moves required", {
163
163
  moves: 0,
164
164
  });
165
165
  return {
166
166
  ok: true,
167
+ errors: 0,
167
168
  moved_files: 0,
168
169
  rewritten_files: 0,
169
170
  rewritten_imports: 0,
170
171
  warnings,
171
- failures,
172
- violations,
172
+ violations: [],
173
173
  };
174
174
  }
175
175
  if (!options.rules.folderizeCompoundFiles.fix) {
176
176
  logger.warn("fix-folderization-disabled", "folderization fix is disabled", {
177
177
  candidates: moves.length,
178
+ discipline: {
179
+ errors,
180
+ warnings,
181
+ },
178
182
  });
179
183
  return {
180
- ok: failures === 0,
184
+ ok: errors === 0,
185
+ errors,
181
186
  moved_files: 0,
182
187
  rewritten_files: 0,
183
188
  rewritten_imports: 0,
184
189
  warnings,
185
- failures,
186
190
  violations,
187
191
  };
188
192
  }
@@ -202,12 +206,12 @@ async function fixFolderization(sourceFiles, options, logger) {
202
206
  });
203
207
  return {
204
208
  ok: true,
209
+ errors: 0,
205
210
  moved_files: movedFiles,
206
211
  rewritten_files: rewriteState.rewrittenFiles,
207
212
  rewritten_imports: rewriteState.rewrittenImports,
208
- warnings,
209
- failures: 0,
210
- violations,
213
+ warnings: 0,
214
+ violations: [],
211
215
  };
212
216
  }
213
217
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"fix-folderization.js","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AASvE,SAAS,4BAA4B,CACnC,QAAgB,EAChB,aAAqB,EACrB,OAA6C,EAC7C,OAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI;QAC/C,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG;QAC7C,QAAQ;QACR,OAAO,EAAE,6BAA6B,aAAa,EAAE;QACrD,aAAa;QACb,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,WAAgC,EAChC,OAA6C;IAE7C,MAAM,UAAU,GAAG,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3C,gBAAgB,EAAE,SAAS,CAAC,YAAY;QACxC,gBAAgB,EAAE,SAAS,CAAC,uBAAuB;QACnD,cAAc,EAAE,SAAS,CAAC,qBAAqB;QAC/C,cAAc,EAAE,SAAS,CAAC,aAAa;KACxC,CAAC,CAAC,CAAC;IACJ,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,4BAA4B,CAC3E,SAAS,CAAC,uBAAuB,EACjC,SAAS,CAAC,aAAa,EACvB,OAAO,EACP;QACE,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CACF,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAiB,EACjB,cAAsB,EACtB,gBAA0B,EAC1B,UAAuB;IAEvB,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1G,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1H,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;QACpF,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,iBAAyB,EACzB,gBAAwB,EACxB,cAAsB,EACtB,gBAA0B;IAE1B,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACrI,IAAI,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,YAAY,GAAG,KAAK,YAAY,EAAE,CAAC;IAEtE,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC1F,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAExE,IAAI,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9D,OAAO,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IACzD,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,uCAAuC,CACpD,WAAgC,EAChC,KAAoB,EACpB,OAA6C;IAM7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,eAAe,EAAE,IAAI,GAAG,EAAE;YAC1B,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,CAAC;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC3E,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC9E,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,IAAI,CAAC;YACH,KAAK,MAAM,UAAU,IAAI,uBAAuB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClF,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAE/D,MAAM,cAAc,GAAG,4BAA4B,CACjD,UAAU,CAAC,SAAS,EACpB,IAAI,CAAC,YAAY,EACjB,OAAO,CAAC,gBAAgB,EACxB,UAAU,CACX,CAAC;gBACF,IAAI,CAAC,cAAc;oBAAE,SAAS;gBAE9B,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;gBAC1E,MAAM,WAAW,GAAG,cAAc,KAAK,IAAI,CAAC,YAAY,CAAC;gBACzD,MAAM,WAAW,GAAG,gBAAgB,KAAK,cAAc,CAAC;gBAExD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW;oBAAE,SAAS;gBAE3C,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,KAAK,EAAE,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;iBACjH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;YAAE,SAAS;QAE/B,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC1C,cAAc,IAAI,CAAC,CAAC;QACpB,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAAoB;IAClD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,cAAc;YAAE,SAAS;QAE5D,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC/C,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAErC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;YAAE,SAAS;QAClD,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC/C,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAoB;IAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,cAAc;YAAE,SAAS;QAC5D,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,UAAU,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,WAAqB;IACzD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3F,KAAK,MAAM,aAAa,IAAI,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,WAAgC,EAChC,OAA6C,EAC7C,MAAsC;IAEtC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC;IAE9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,iCAAiC,EAAE;YAC5E,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,OAAO;YACL,EAAE,EAAE,IAAI;YACR,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,QAAQ;YACR,QAAQ;YACR,UAAU;SACX,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,+BAA+B,EAAE;YACzE,UAAU,EAAE,KAAK,CAAC,MAAM;SACzB,CAAC,CAAC;QACH,OAAO;YACL,EAAE,EAAE,QAAQ,KAAK,CAAC;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,QAAQ;YACR,QAAQ;YACR,UAAU;SACX,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9B,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEnF,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,uCAAuC,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAChG,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QAE1C,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;YAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QAEhD,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,oBAAoB,UAAU,qBAAqB,YAAY,CAAC,gBAAgB,EAAE,EAAE;YAC/H,UAAU;YACV,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;SAChD,CAAC,CAAC;QAEH,OAAO;YACL,EAAE,EAAE,IAAI;YACR,WAAW,EAAE,UAAU;YACvB,eAAe,EAAE,YAAY,CAAC,cAAc;YAC5C,iBAAiB,EAAE,YAAY,CAAC,gBAAgB;YAChD,QAAQ;YACR,QAAQ,EAAE,CAAC;YACX,UAAU;SACX,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;YAC/E,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE;YACpD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"fix-folderization.js","sourceRoot":"","sources":["../../src/checks/fix-folderization.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,7 @@ declare function buildNormalizedSyncOptions(options: NormalizedCheckCodeDiscipli
6
6
  sourceExtensions: string[];
7
7
  excludeDirs: string[];
8
8
  tsconfigPath: string;
9
- enabled: boolean;
10
- stop: boolean;
9
+ severity: import("../index.js").CodeDisciplineSeverity;
11
10
  fix: boolean;
12
11
  alias: {
13
12
  prefix: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAEzB,wBAAwB,EACxB,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AAEpB,iBAAS,0BAA0B,CAAC,OAAO,EAAE,oCAAoC;;;;;;;;;;;;;;;;;EAmBhF;AA4DD,iBAAe,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAY1G;AAED,iBAAe,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiBpG;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AAEpB,iBAAS,0BAA0B,CAAC,OAAO,EAAE,oCAAoC;;;;;;;;;;;;;;;;EAoBhF;AAgFD,iBAAe,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAQ1G;AAED,iBAAe,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAuBpG;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -6,6 +6,8 @@ import { fixFolderization } from "./fix-folderization.js";
6
6
  import { runFolderizeCompoundFilesRule } from "./rules/folderize-compound-files.js";
7
7
  import { runMaxFileLinesRule } from "./rules/max-file-lines.js";
8
8
  function buildNormalizedSyncOptions(options) {
9
+ if (!options.rules.syncImports)
10
+ return null;
9
11
  return {
10
12
  projectRoot: options.projectRoot,
11
13
  sourceRoot: options.sourceRoot,
@@ -13,8 +15,7 @@ function buildNormalizedSyncOptions(options) {
13
15
  sourceExtensions: options.sourceExtensions,
14
16
  excludeDirs: options.excludeDirs,
15
17
  tsconfigPath: options.rules.syncImports.tsconfigPath ?? `${options.projectRoot}/tsconfig.json`,
16
- enabled: options.rules.syncImports.enabled ?? false,
17
- stop: options.rules.syncImports.stop ?? true,
18
+ severity: options.rules.syncImports.severity ?? "error",
18
19
  fix: options.rules.syncImports.fix ?? false,
19
20
  alias: {
20
21
  prefix: options.rules.syncImports.alias?.prefix ?? "#",
@@ -29,42 +30,62 @@ function sortViolations(violations) {
29
30
  return [...violations].sort((left, right) => left.filePath.localeCompare(right.filePath) || left.rule.localeCompare(right.rule));
30
31
  }
31
32
  function summarizeViolations(violations) {
32
- const warnings = violations.filter((violation) => !violation.stop).length;
33
- const failures = violations.length - warnings;
33
+ const warnings = violations.filter((violation) => violation.severity === "warning").length;
34
+ const errors = violations.length - warnings;
34
35
  return {
35
- ok: failures === 0,
36
+ ok: errors === 0,
37
+ errors,
36
38
  warnings,
37
- failures,
39
+ violations,
38
40
  };
39
41
  }
40
42
  function logSummary(label, result, logger) {
41
- if (result.failures > 0) {
42
- logger.flush(`error`, `discipline-${label}-failed`, `${label} found blocking violations`, {
43
+ if (result.errors > 0) {
44
+ logger.flush("error", `discipline-${label}-failed`, `${label} completed with error violations`, {
45
+ discipline: {
46
+ errors: result.errors,
47
+ warnings: result.warnings,
48
+ },
49
+ errors: result.errors,
43
50
  warnings: result.warnings,
44
- failures: result.failures,
45
51
  violations: result.violations,
46
52
  });
47
53
  return;
48
54
  }
49
55
  if (result.warnings > 0) {
50
- logger.flush(`warn`, `discipline-${label}-warning`, `${label} completed with warnings`, {
56
+ logger.flush("warn", `discipline-${label}-warning`, `${label} completed with warning violations`, {
57
+ discipline: {
58
+ errors: result.errors,
59
+ warnings: result.warnings,
60
+ },
61
+ errors: result.errors,
51
62
  warnings: result.warnings,
52
- failures: result.failures,
53
63
  violations: result.violations,
54
64
  });
55
65
  return;
56
66
  }
57
67
  logger.flush(`success`, `discipline-${label}-ok`, `${label} completed`, {
68
+ discipline: {
69
+ errors: result.errors,
70
+ warnings: result.warnings,
71
+ },
72
+ errors: result.errors,
58
73
  warnings: result.warnings,
59
- failures: result.failures,
60
74
  violations: result.violations,
61
75
  });
62
76
  }
63
77
  async function collectViolations(options) {
64
78
  const sourceFiles = await scanSourceFiles(options);
65
- const maxFileViolations = await runMaxFileLinesRule(sourceFiles, options);
66
- const folderizeViolations = runFolderizeCompoundFilesRule(sourceFiles, options);
67
- const syncImportViolations = await collectSyncImportViolations(sourceFiles, buildNormalizedSyncOptions(options));
79
+ const maxFileViolations = options.rules.maxFileLines
80
+ ? await runMaxFileLinesRule(sourceFiles, options)
81
+ : [];
82
+ const folderizeViolations = options.rules.folderizeCompoundFiles
83
+ ? runFolderizeCompoundFilesRule(sourceFiles, options)
84
+ : [];
85
+ const normalizedSyncOptions = buildNormalizedSyncOptions(options);
86
+ const syncImportViolations = normalizedSyncOptions
87
+ ? await collectSyncImportViolations(sourceFiles, normalizedSyncOptions)
88
+ : [];
68
89
  return sortViolations([
69
90
  ...maxFileViolations,
70
91
  ...folderizeViolations,
@@ -75,11 +96,7 @@ async function checkCodeDiscipline(options) {
75
96
  const normalized = await normalizeCheckCodeDisciplineOptions(options);
76
97
  const logger = resolveLogger(normalized.logging);
77
98
  const violations = await collectViolations(normalized);
78
- const summary = summarizeViolations(violations);
79
- const result = {
80
- ...summary,
81
- violations,
82
- };
99
+ const result = summarizeViolations(violations);
83
100
  logSummary("check", result, logger);
84
101
  return result;
85
102
  }
@@ -93,6 +110,12 @@ async function fixCodeDiscipline(options) {
93
110
  }
94
111
  else {
95
112
  logger.flush("success", "discipline-fix-ok", "fix completed", {
113
+ discipline: {
114
+ errors: result.errors,
115
+ warnings: result.warnings,
116
+ },
117
+ errors: result.errors,
118
+ warnings: result.warnings,
96
119
  movedFiles: result.moved_files,
97
120
  rewrittenFiles: result.rewritten_files,
98
121
  rewrittenImports: result.rewritten_imports,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { CodeDisciplineViolation, NormalizedCheckCodeDisciplineOptions } from "../types.js";
1
+ import type { NormalizedCheckCodeDisciplineOptions } from "../types.js";
2
2
  import type { ScannedSourceFile } from "../../imports/types.js";
3
+ import type { CodeDisciplineViolation } from "../../shared/discipline-types.js";
3
4
  declare function runFolderizeCompoundFilesRule(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions): CodeDisciplineViolation[];
4
5
  export { runFolderizeCompoundFilesRule };
5
6
  //# sourceMappingURL=folderize-compound-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"folderize-compound-files.d.ts","sourceRoot":"","sources":["../../../src/checks/rules/folderize-compound-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,iBAAS,6BAA6B,CACpC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,uBAAuB,EAAE,CAe3B;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
1
+ {"version":3,"file":"folderize-compound-files.d.ts","sourceRoot":"","sources":["../../../src/checks/rules/folderize-compound-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAGhF,iBAAS,6BAA6B,CACpC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,uBAAuB,EAAE,CAiB3B;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { planFolderizeCompoundFiles } from "./folderize-plan.js";
2
2
  function runFolderizeCompoundFilesRule(sourceFiles, options) {
3
+ if (!options.rules.folderizeCompoundFiles)
4
+ return [];
3
5
  return planFolderizeCompoundFiles(sourceFiles, options).map((candidate) => ({
4
6
  rule: "folderize-compound-files",
5
- stop: options.rules.folderizeCompoundFiles.stop,
7
+ severity: options.rules.folderizeCompoundFiles.severity,
6
8
  fix: options.rules.folderizeCompoundFiles.fix,
7
9
  filePath: candidate.relativeFromProjectRoot,
8
10
  message: `file can be grouped under ${candidate.suggestedPath}`,
@@ -1 +1 @@
1
- {"version":3,"file":"folderize-compound-files.js","sourceRoot":"","sources":["../../../src/checks/rules/folderize-compound-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,SAAS,6BAA6B,CACpC,WAAgC,EAChC,OAA6C;IAE7C,OAAO,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI;QAC/C,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG;QAC7C,QAAQ,EAAE,SAAS,CAAC,uBAAuB;QAC3C,OAAO,EAAE,6BAA6B,SAAS,CAAC,aAAa,EAAE;QAC/D,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,OAAO,EAAE;YACP,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
1
+ {"version":3,"file":"folderize-compound-files.js","sourceRoot":"","sources":["../../../src/checks/rules/folderize-compound-files.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,SAAS,6BAA6B,CACpC,WAAgC,EAChC,OAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB;QAAE,OAAO,EAAE,CAAC;IAErD,OAAO,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,QAAQ;QACvD,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG;QAC7C,QAAQ,EAAE,SAAS,CAAC,uBAAuB;QAC3C,OAAO,EAAE,6BAA6B,SAAS,CAAC,aAAa,EAAE;QAC/D,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,OAAO,EAAE;YACP,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}