@trebired/code-discipline 4.4.1 → 4.5.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 (72) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +44 -34
  3. package/dist/checks/apply-fixes.d.ts +26 -0
  4. package/dist/checks/apply-fixes.d.ts.map +1 -0
  5. package/dist/checks/apply-fixes.js +119 -0
  6. package/dist/checks/apply-fixes.js.map +1 -0
  7. package/dist/checks/index.d.ts.map +1 -1
  8. package/dist/checks/index.js +12 -127
  9. package/dist/checks/index.js.map +1 -1
  10. package/dist/checks/rule-slugs.d.ts +1 -0
  11. package/dist/checks/rule-slugs.d.ts.map +1 -1
  12. package/dist/checks/rule-slugs.js +3 -0
  13. package/dist/checks/rule-slugs.js.map +1 -1
  14. package/dist/checks/rules/blank-lines/classify.d.ts +6 -0
  15. package/dist/checks/rules/blank-lines/classify.d.ts.map +1 -0
  16. package/dist/checks/rules/blank-lines/classify.js +80 -0
  17. package/dist/checks/rules/blank-lines/classify.js.map +1 -0
  18. package/dist/checks/rules/blank-lines/comments.d.ts +7 -0
  19. package/dist/checks/rules/blank-lines/comments.d.ts.map +1 -0
  20. package/dist/checks/rules/blank-lines/comments.js +68 -0
  21. package/dist/checks/rules/blank-lines/comments.js.map +1 -0
  22. package/dist/checks/rules/blank-lines/index.d.ts +7 -0
  23. package/dist/checks/rules/blank-lines/index.d.ts.map +1 -0
  24. package/dist/checks/rules/blank-lines/index.js +89 -0
  25. package/dist/checks/rules/blank-lines/index.js.map +1 -0
  26. package/dist/checks/rules/blank-lines/rewrite.d.ts +14 -0
  27. package/dist/checks/rules/blank-lines/rewrite.d.ts.map +1 -0
  28. package/dist/checks/rules/blank-lines/rewrite.js +122 -0
  29. package/dist/checks/rules/blank-lines/rewrite.js.map +1 -0
  30. package/dist/checks/rules/blank-lines/types.d.ts +21 -0
  31. package/dist/checks/rules/blank-lines/types.d.ts.map +1 -0
  32. package/dist/checks/rules/blank-lines/types.js +2 -0
  33. package/dist/checks/rules/blank-lines/types.js.map +1 -0
  34. package/dist/checks/severity.d.ts +5 -0
  35. package/dist/checks/severity.d.ts.map +1 -0
  36. package/dist/checks/severity.js +28 -0
  37. package/dist/checks/severity.js.map +1 -0
  38. package/dist/checks/types.d.ts +17 -13
  39. package/dist/checks/types.d.ts.map +1 -1
  40. package/dist/config/normalize/check-options.d.ts.map +1 -1
  41. package/dist/config/normalize/check-options.js +2 -1
  42. package/dist/config/normalize/check-options.js.map +1 -1
  43. package/dist/config/normalize/formatter-options.d.ts.map +1 -1
  44. package/dist/config/normalize/formatter-options.js +8 -28
  45. package/dist/config/normalize/formatter-options.js.map +1 -1
  46. package/dist/config/normalize/rule-options.d.ts +6 -2
  47. package/dist/config/normalize/rule-options.d.ts.map +1 -1
  48. package/dist/config/normalize/rule-options.js +18 -1
  49. package/dist/config/normalize/rule-options.js.map +1 -1
  50. package/dist/config/normalize/source-options.d.ts +3 -2
  51. package/dist/config/normalize/source-options.d.ts.map +1 -1
  52. package/dist/config/normalize/source-options.js +50 -8
  53. package/dist/config/normalize/source-options.js.map +1 -1
  54. package/dist/config/normalize/sync-imports-options.d.ts.map +1 -1
  55. package/dist/config/normalize/sync-imports-options.js +6 -1
  56. package/dist/config/normalize/sync-imports-options.js.map +1 -1
  57. package/dist/formatters/prettier.d.ts.map +1 -1
  58. package/dist/formatters/prettier.js +8 -7
  59. package/dist/formatters/prettier.js.map +1 -1
  60. package/dist/imports/types.d.ts +12 -2
  61. package/dist/imports/types.d.ts.map +1 -1
  62. package/dist/index.d.ts +2 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/run.js +2 -2
  65. package/dist/run.js.map +1 -1
  66. package/dist/shared/discipline-types.d.ts +1 -1
  67. package/dist/shared/discipline-types.d.ts.map +1 -1
  68. package/native/darwin-arm64.node +0 -0
  69. package/native/darwin-x64.node +0 -0
  70. package/native/linux-arm64-gnu.node +0 -0
  71. package/native/linux-x64-gnu.node +0 -0
  72. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  All notable changes to `@trebired/code-discipline` will be documented here.
4
4
 
5
+ ## 4.5.0
6
+
7
+ - Added `structuralBlankLines`, a fixable rule that enforces exactly one blank line at AST-identified structural boundaries (file headers, imports, declaration groups, class members) while leaving compact groups (imports, variables, types, re-exports, execution statements, class fields, directive prologues, function overloads, getter/setter pairs) at zero or one blank line and collapsing two or more blank lines to one.
8
+ - Made unqualified `fix` run `structuralBlankLines` after `removeComments` and before configured Prettier formatting.
9
+
10
+ ## 4.4.2
11
+
12
+ - Replaced top-level `excludeDirs` with shared `ignore.entries` and `ignore.use_gitignore` configuration.
13
+ - Simplified `formatters.prettier.ignore` to a boolean that reuses the shared code-discipline ignore when `true`.
14
+
5
15
  ## 4.4.1
6
16
 
7
17
  - Added `formatters.prettier.ignore.gitignore` support, with `ignore.entries` for explicit formatter ignore patterns.
package/README.md CHANGED
@@ -8,6 +8,7 @@ Configurable repository discipline checks and rule-driven fixes for Bun and Node
8
8
  - structural rules such as folderizing compound files
9
9
  - sync rules such as keeping source imports, `tsconfig.json`, and optional `package.json#imports` aligned
10
10
  - source cleanup rules such as removing comments across supported languages
11
+ - structural spacing rules such as normalizing blank lines around JavaScript and TypeScript declarations
11
12
  - native acceleration with a TypeScript fallback for large codebases
12
13
  - DRY enforcement through source-tree duplicate function grouping
13
14
 
@@ -31,7 +32,7 @@ code-discipline check
31
32
  code-discipline check save
32
33
  code-discipline check max-function-lines dry
33
34
  code-discipline fix
34
- code-discipline fix banned-files min-file-lines sync-imports remove-comments
35
+ code-discipline fix banned-files min-file-lines sync-imports remove-comments structural-blank-lines
35
36
  code-discipline gate -- bun run dev
36
37
  ```
37
38
 
@@ -109,12 +110,14 @@ import { defineCodeDisciplineConfig } from "@trebired/code-discipline";
109
110
  export default defineCodeDisciplineConfig({
110
111
  sourceRoot: "src",
111
112
  excludeSourceExtensions: [".scss"],
112
- excludeDirs: {
113
+ ignore: {
113
114
  entries: [
114
115
  { type: "folder", pattern: "coverage" },
115
116
  { type: "file", pattern: "**/*.client.ts" },
117
+ { type: "file", pattern: "*.min.js" },
118
+ { type: "file", pattern: "*.min.css" },
116
119
  ],
117
- gitignore: true,
120
+ use_gitignore: true,
118
121
  },
119
122
  tsconfigPaths: {
120
123
  normalize: "relative-dot-prefix",
@@ -127,20 +130,7 @@ export default defineCodeDisciplineConfig({
127
130
  },
128
131
  formatters: {
129
132
  prettier: {
130
- targets: ["."],
131
- ignore: {
132
- entries: [
133
- "dist",
134
- "build",
135
- "coverage",
136
- ".next",
137
- ".nuxt",
138
- ".output",
139
- "*.min.js",
140
- "*.min.css",
141
- ],
142
- gitignore: true,
143
- },
133
+ ignore: true,
144
134
  options: {
145
135
  printWidth: 100,
146
136
  tabWidth: 2,
@@ -216,7 +206,7 @@ Source scanning covers every built-in supported source family by default:
216
206
 
217
207
  - exclude specific extensions with `excludeSourceExtensions`
218
208
  - built-in excluded directories are always included
219
- - root `.gitignore` directory entries are included only when `excludeDirs.gitignore: true`
209
+ - top-level `ignore.entries` and root `.gitignore` entries are included when `ignore.use_gitignore: true`
220
210
 
221
211
  So you get the full supported scan set automatically and only opt out when needed.
222
212
 
@@ -229,12 +219,14 @@ export default defineCodeDisciplineConfig({
229
219
  // Skip specific built-in file types when needed.
230
220
  excludeSourceExtensions: [".scss"],
231
221
 
232
- // Add extra ignored directories on top of the built-in set.
233
- excludeDirs: {
234
- dirs: ["coverage"],
222
+ // Add extra ignored entries on top of the built-in set.
223
+ ignore: {
224
+ entries: [
225
+ { type: "folder", pattern: "coverage" },
226
+ ],
235
227
 
236
- // Opt into reusing root .gitignore directory entries.
237
- gitignore: true,
228
+ // Opt into reusing root .gitignore entries.
229
+ use_gitignore: true,
238
230
  },
239
231
 
240
232
  rules: {
@@ -251,7 +243,7 @@ export default defineCodeDisciplineConfig({
251
243
 
252
244
  ```sh
253
245
  code-discipline check max-file-lines max-function-lines
254
- code-discipline fix banned-files min-file-lines sync-imports remove-comments
246
+ code-discipline fix banned-files min-file-lines sync-imports remove-comments structural-blank-lines
255
247
  code-discipline check prettier
256
248
  code-discipline fix prettier
257
249
  ```
@@ -268,6 +260,7 @@ Rules use kebab-case public slugs:
268
260
  - `folderize-compound-files`
269
261
  - `sync-imports`
270
262
  - `remove-comments`
263
+ - `structural-blank-lines`
271
264
  - `dry`
272
265
 
273
266
  `fix` only accepts fixable rules. Trying to run `code-discipline fix max-function-lines`, `code-discipline fix max-characters-per-line`, or `code-discipline fix dry` fails clearly.
@@ -278,18 +271,14 @@ Formatter selectors such as `prettier` are enabled by top-level `formatters` con
278
271
 
279
272
  Formatters are configured at top level under `formatters`, not under `rules`. Presence enables a formatter; there is no `enabled: true` key.
280
273
 
281
- `formatters.prettier` uses Prettier as the formatting engine and keeps `code-discipline.ts` as the formatting policy source. `check prettier` validates formatting without modifying files, while `fix prettier` writes formatted files. Running `code-discipline fix` with no selectors runs configured Prettier formatting last after structural, import, and comment fixes.
274
+ `formatters.prettier` uses Prettier as the formatting engine and keeps `code-discipline.ts` as the formatting policy source. `check prettier` validates formatting without modifying files, while `fix prettier` writes formatted files. Running `code-discipline fix` with no selectors runs configured Prettier formatting last after structural, import, comment, and blank-line fixes. Set `formatters.prettier.ignore: true` to reuse the shared top-level `ignore`.
282
275
 
283
276
  Example:
284
277
 
285
278
  ```ts
286
279
  formatters: {
287
280
  prettier: {
288
- targets: ["."],
289
- ignore: {
290
- entries: ["dist", "build", "coverage", ".next", "*.min.js", "*.min.css"],
291
- gitignore: true,
292
- },
281
+ ignore: true,
293
282
  options: {
294
283
  printWidth: 100,
295
284
  tabWidth: 2,
@@ -457,14 +446,17 @@ When `syncImports` sees a relative import that resolves nowhere, check mode repo
457
446
 
458
447
  When `importsFolder.enabled` is true, sorted JSON files such as `imports/1.json` become the alias source of truth. `code-discipline fix` migrates root `tsconfig.json` paths and managed `package.json#imports` entries into that folder, splits entries by `maxEntriesPerFile`, recreates the generated tsconfig projection, removes inline root `compilerOptions.paths`, and makes root `tsconfig.json` extend the generated file. Keep `packageJsonImports.enabled` false for dev-only aliases; set it true for dist/runtime workflows that need Node package imports materialized.
459
448
 
460
- `excludeDirs` now groups scan exclusions in one place, so you can add explicit directories through `excludeDirs.dirs` and opt into root `.gitignore` directory entries through `excludeDirs.gitignore`.
449
+ Top-level `ignore` groups shared scan and formatter exclusions in one place, so you can add explicit entries through `ignore.entries` and opt into root `.gitignore` entries through `ignore.use_gitignore`.
461
450
 
462
451
  Example:
463
452
 
464
453
  ```ts
465
- excludeDirs: {
466
- dirs: ["coverage", "tmp"],
467
- gitignore: true,
454
+ ignore: {
455
+ entries: [
456
+ { type: "folder", pattern: "coverage" },
457
+ { type: "folder", pattern: "tmp" },
458
+ ],
459
+ use_gitignore: true,
468
460
  },
469
461
  ```
470
462
 
@@ -503,6 +495,24 @@ Example targeted CLI usage:
503
495
  code-discipline fix remove-comments
504
496
  ```
505
497
 
498
+ ### `structuralBlankLines`
499
+
500
+ Reports JavaScript and TypeScript files where the major structural sections aren't visually separated, and normalizes the blank lines between them when you run `code-discipline fix`.
501
+
502
+ It only enforces blank lines at boundaries the AST clearly identifies as structural: after the file header, between imports and the first non-import statement, between declaration groups (variables, types, functions, classes, enums, namespaces), and between class fields/methods/constructors. Compact groups — consecutive imports, variables, type declarations, re-exports, top-level executable statements, class fields, directive prologues, function overload chains, and getter/setter pairs — allow zero or one blank line and only collapse two or more down to one.
503
+
504
+ It never touches statements inside function or method bodies, `if`/loop/`try` bodies, object literals, array elements, interface members, type literal members, enum members, or JSX children — spacing choices inside those remain up to the developer.
505
+
506
+ ```ts
507
+ structuralBlankLines: {}
508
+ ```
509
+
510
+ Example targeted CLI usage:
511
+
512
+ ```sh
513
+ code-discipline fix structural-blank-lines
514
+ ```
515
+
506
516
  ### `dry`
507
517
 
508
518
  Reports duplicate function groups across the configured source tree.
@@ -0,0 +1,26 @@
1
+ import type { ScannedSourceFile } from "../imports/types.js";
2
+ import type { CodeDisciplineViolation } from "../shared/discipline-types.js";
3
+ import type { resolveLogger } from "../shared/logging.js";
4
+ import type { FixableRuleSlug, FixCodeDisciplineRuleResult, NormalizedCheckCodeDisciplineOptions } from "./types.js";
5
+ type FixState = {
6
+ deletedFiles: number;
7
+ movedFiles: number;
8
+ removedComments: number;
9
+ formattedFiles: number;
10
+ unchangedFiles: number;
11
+ rewrittenFiles: number;
12
+ rewrittenImports: number;
13
+ ruleResults: Partial<Record<FixableRuleSlug, FixCodeDisciplineRuleResult>>;
14
+ sourceFiles: ScannedSourceFile[];
15
+ violations: CodeDisciplineViolation[];
16
+ };
17
+ declare function applyBannedFilesFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
18
+ declare function applyMinFileLinesFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions, logger: ReturnType<typeof resolveLogger>): Promise<void>;
19
+ declare function applyFolderizeFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions, logger: ReturnType<typeof resolveLogger>): Promise<void>;
20
+ declare function applySyncImportsFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
21
+ declare function applyRemoveCommentsFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
22
+ declare function applyStructuralBlankLinesFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
23
+ declare function applyPrettierFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
24
+ export { applyBannedFilesFix, applyFolderizeFix, applyMinFileLinesFix, applyPrettierFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applySyncImportsFix, };
25
+ export type { FixState };
26
+ //# sourceMappingURL=apply-fixes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-fixes.d.ts","sourceRoot":"","sources":["../../src/checks/apply-fixes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAU1D,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAErH,KAAK,QAAQ,GAAG;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAC3E,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,UAAU,EAAE,uBAAuB,EAAE,CAAC;CACvC,CAAC;AAwCF,iBAAe,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnH;AAED,iBAAe,oBAAoB,CACjC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,oCAAoC,EAChD,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAef;AAED,iBAAe,iBAAiB,CAC9B,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,oCAAoC,EAChD,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,iBAAe,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnH;AAED,iBAAe,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAStH;AAED,iBAAe,4BAA4B,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5H;AAED,iBAAe,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhH;AAED,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,GACpB,CAAC;AACF,YAAY,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { scanSourceFiles } from "../imports/scan.js";
2
+ import { syncImports } from "../imports/sync-imports.js";
3
+ import { filterSourceFilesForRule } from "../shared/rule-exclusions.js";
4
+ import { fixFolderization } from "./fix-folderization.js";
5
+ import { applyPrettierFormatterFix } from "./prettier.js";
6
+ import { shouldRunRule } from "./rule-slugs.js";
7
+ import { fixBannedFilesRule } from "./rules/banned/files.js";
8
+ import { fixStructuralBlankLinesRule } from "./rules/blank-lines/index.js";
9
+ import { fixMinFileLinesRule } from "./rules/min/file/lines/fix.js";
10
+ import { fixRemoveCommentsRule } from "./rules/remove-comments.js";
11
+ import { applyConfiguredSeverity } from "./severity.js";
12
+ import { buildNormalizedSyncOptions } from "./sync-options.js";
13
+ function mapFixRuleResult(result) {
14
+ return {
15
+ ok: result.ok,
16
+ violationCount: result.violationCount,
17
+ violations: result.violations,
18
+ moved_files: result.moved_files,
19
+ rewritten_files: result.rewritten_files,
20
+ rewritten_imports: result.rewritten_imports,
21
+ removed_comments: result.removed_comments,
22
+ formatted_files: result.formatted_files,
23
+ unchanged_files: result.unchanged_files,
24
+ removed_duplicates: result.removed_duplicates,
25
+ added_imports: result.added_imports,
26
+ deleted_files: result.deleted_files,
27
+ inserted_blank_lines: result.inserted_blank_lines,
28
+ removed_blank_lines: result.removed_blank_lines,
29
+ };
30
+ }
31
+ function shouldRunFixRule(rule, options) {
32
+ return shouldRunRule(rule, options.onlyRules);
33
+ }
34
+ async function applyBannedFilesFix(state, normalized) {
35
+ if (!normalized.rules.bannedFiles || !shouldRunFixRule("banned-files", normalized))
36
+ return;
37
+ const result = await fixBannedFilesRule(filterSourceFilesForRule(state.sourceFiles, normalized.rules.bannedFiles), normalized);
38
+ const violations = applyConfiguredSeverity(result.violations, normalized);
39
+ state.ruleResults["banned-files"] = mapFixRuleResult({ ...result, violations });
40
+ state.violations.push(...violations);
41
+ state.deletedFiles += result.deleted_files ?? 0;
42
+ if ((result.deleted_files ?? 0) > 0) {
43
+ state.sourceFiles = await scanSourceFiles(normalized);
44
+ }
45
+ }
46
+ async function applyMinFileLinesFix(state, normalized, logger) {
47
+ if (!normalized.rules.minFileLines || !shouldRunFixRule("min-file-lines", normalized))
48
+ return;
49
+ const syncOptions = await buildNormalizedSyncOptions(normalized, true);
50
+ const result = await fixMinFileLinesRule(filterSourceFilesForRule(state.sourceFiles, normalized.rules.minFileLines), normalized, logger, syncOptions);
51
+ const violations = applyConfiguredSeverity(result.violations, normalized);
52
+ state.ruleResults["min-file-lines"] = mapFixRuleResult({ ...result, violations });
53
+ state.violations.push(...violations);
54
+ state.deletedFiles += result.deleted_files ?? 0;
55
+ state.rewrittenFiles += result.rewritten_files ?? 0;
56
+ state.rewrittenImports += result.rewritten_imports ?? 0;
57
+ if ((result.deleted_files ?? 0) > 0 || (result.rewritten_files ?? 0) > 0) {
58
+ state.sourceFiles = await scanSourceFiles(normalized);
59
+ }
60
+ }
61
+ async function applyFolderizeFix(state, normalized, logger) {
62
+ if (!normalized.rules.folderizeCompoundFiles || !shouldRunFixRule("folderize-compound-files", normalized))
63
+ return;
64
+ const result = await fixFolderization(filterSourceFilesForRule(state.sourceFiles, normalized.rules.folderizeCompoundFiles), normalized, logger);
65
+ const violations = applyConfiguredSeverity(result.violations, normalized);
66
+ state.ruleResults["folderize-compound-files"] = mapFixRuleResult({ ...result, violations });
67
+ state.violations.push(...violations);
68
+ state.movedFiles += result.moved_files;
69
+ state.rewrittenFiles += result.rewritten_files;
70
+ state.rewrittenImports += result.rewritten_imports;
71
+ if (result.moved_files > 0 || result.rewritten_files > 0) {
72
+ state.sourceFiles = await scanSourceFiles(normalized);
73
+ }
74
+ }
75
+ async function applySyncImportsFix(state, normalized) {
76
+ if (!normalized.rules.syncImports || !shouldRunFixRule("sync-imports", normalized))
77
+ return;
78
+ const syncOptions = await buildNormalizedSyncOptions(normalized, true);
79
+ if (!syncOptions)
80
+ return;
81
+ const result = await syncImports(syncOptions);
82
+ const violations = applyConfiguredSeverity(result.violations, normalized);
83
+ state.ruleResults["sync-imports"] = mapFixRuleResult({ ...result, violations });
84
+ state.violations.push(...violations);
85
+ state.rewrittenFiles += result.rewritten_files;
86
+ state.rewrittenImports += result.rewritten_imports;
87
+ }
88
+ async function applyRemoveCommentsFix(state, normalized) {
89
+ if (!normalized.rules.removeComments || !shouldRunFixRule("remove-comments", normalized))
90
+ return;
91
+ const result = await fixRemoveCommentsRule(filterSourceFilesForRule(state.sourceFiles, normalized.rules.removeComments), normalized);
92
+ const violations = applyConfiguredSeverity(result.violations, normalized);
93
+ state.ruleResults["remove-comments"] = mapFixRuleResult({ ...result, violations });
94
+ state.violations.push(...violations);
95
+ state.rewrittenFiles += result.rewritten_files ?? 0;
96
+ state.removedComments += result.removed_comments ?? 0;
97
+ }
98
+ async function applyStructuralBlankLinesFix(state, normalized) {
99
+ if (!normalized.rules.structuralBlankLines || !shouldRunFixRule("structural-blank-lines", normalized))
100
+ return;
101
+ const result = await fixStructuralBlankLinesRule(filterSourceFilesForRule(state.sourceFiles, normalized.rules.structuralBlankLines), normalized);
102
+ const violations = applyConfiguredSeverity(result.violations, normalized);
103
+ state.ruleResults["structural-blank-lines"] = mapFixRuleResult({ ...result, violations });
104
+ state.violations.push(...violations);
105
+ state.rewrittenFiles += result.rewritten_files ?? 0;
106
+ }
107
+ async function applyPrettierFix(state, normalized) {
108
+ const result = await applyPrettierFormatterFix(normalized);
109
+ if (!result)
110
+ return;
111
+ const violations = applyConfiguredSeverity(result.violations, normalized);
112
+ state.ruleResults.prettier = mapFixRuleResult({ ...result.ruleResult, violations });
113
+ state.violations.push(...violations);
114
+ state.formattedFiles += result.formattedFiles;
115
+ state.unchangedFiles += result.unchangedFiles;
116
+ state.rewrittenFiles += result.rewrittenFiles;
117
+ }
118
+ export { applyBannedFilesFix, applyFolderizeFix, applyMinFileLinesFix, applyPrettierFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applySyncImportsFix, };
119
+ //# sourceMappingURL=apply-fixes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-fixes.js","sourceRoot":"","sources":["../../src/checks/apply-fixes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EAIxB,MAAM,YAAY,CAAC;AAyUpB,iBAAe,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAQ1G;AAED,iBAAe,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA0BpG;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":"AAiCA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EAExB,MAAM,YAAY,CAAC;AAiKpB,iBAAe,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAQ1G;AAED,iBAAe,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA2BpG;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -2,53 +2,28 @@ import { result as createResult } from "@trebired/result";
2
2
  import { normalizeCheckCodeDisciplineOptions } from "../config/normalize/check-options.js";
3
3
  import { collectSyncImportViolations } from "../imports/check-sync-imports.js";
4
4
  import { scanSourceFiles } from "../imports/scan.js";
5
- import { syncImports } from "../imports/sync-imports.js";
6
5
  import { runLogGroup } from "../shared/log-groups.js";
7
6
  import { resolveLogger } from "../shared/logging.js";
8
7
  import { filterSourceFilesForRule } from "../shared/rule-exclusions.js";
9
- import { applyPrettierFormatterFix, collectPrettierViolations } from "./prettier.js";
8
+ import { applyBannedFilesFix, applyFolderizeFix, applyMinFileLinesFix, applyPrettierFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applySyncImportsFix, } from "./apply-fixes.js";
9
+ import { collectPrettierViolations } from "./prettier.js";
10
10
  import { shouldRunRule } from "./rule-slugs.js";
11
- import { fixFolderization } from "./fix-folderization.js";
12
- import { runFolderizeCompoundFilesRule } from "./rules/folderize/compound-files.js";
13
- import { collectBannedFileViolations, fixBannedFilesRule } from "./rules/banned/files.js";
11
+ import { collectBannedFileViolations } from "./rules/banned/files.js";
14
12
  import { collectBannedPatternViolations } from "./rules/banned/patterns.js";
13
+ import { collectStructuralBlankLinesViolations } from "./rules/blank-lines/index.js";
15
14
  import { collectDryViolations } from "./rules/dry/index.js";
16
15
  import { runMaxCharactersPerLineRule } from "./rules/max/characters-per-line.js";
17
16
  import { runMaxFileLinesRule } from "./rules/max/file-lines.js";
18
17
  import { runMaxFunctionLinesRule } from "./rules/max/function-lines.js";
19
- import { fixMinFileLinesRule } from "./rules/min/file/lines/fix.js";
20
- import { runMinFileLinesRule } from "./rules/min/file/lines.js";
18
+ import { runFolderizeCompoundFilesRule } from "./rules/folderize/compound-files.js";
21
19
  import { runMinDeclarationNameRule } from "./rules/min/declaration-name.js";
22
- import { collectRemoveCommentsViolations, fixRemoveCommentsRule } from "./rules/remove-comments.js";
20
+ import { runMinFileLinesRule } from "./rules/min/file/lines.js";
21
+ import { collectRemoveCommentsViolations } from "./rules/remove-comments.js";
22
+ import { applyConfiguredSeverity } from "./severity.js";
23
23
  import { buildNormalizedSyncOptions } from "./sync-options.js";
24
24
  function sortViolations(violations) {
25
25
  return [...violations].sort((left, right) => left.filePath.localeCompare(right.filePath) || left.rule.localeCompare(right.rule));
26
26
  }
27
- function resolveConfiguredSeverity(violation, options) {
28
- switch (violation.rule) {
29
- case "banned-patterns": return options.rules.bannedPatterns?.severity ?? "fail";
30
- case "banned-files": return options.rules.bannedFiles?.severity ?? "fail";
31
- case "min-file-lines": return options.rules.minFileLines?.severity ?? "fail";
32
- case "min-declaration-name": return options.rules.minDeclarationName?.severity ?? "fail";
33
- case "max-file-lines": return options.rules.maxFileLines?.severity ?? "fail";
34
- case "max-characters-per-line": return options.rules.maxCharactersPerLine?.severity ?? "fail";
35
- case "max-function-lines": return options.rules.maxFunctionLines?.severity ?? "fail";
36
- case "folderize-compound-files": return options.rules.folderizeCompoundFiles?.severity ?? "fail";
37
- case "sync-imports": return options.rules.syncImports?.severity ?? "fail";
38
- case "remove-comments": return options.rules.removeComments?.severity ?? "fail";
39
- case "dry": return options.rules.dry?.severity ?? "fail";
40
- case "prettier": return "fail";
41
- }
42
- }
43
- function applyConfiguredSeverity(violations, options) {
44
- return violations.map((violation) => {
45
- const severity = violation.severity ?? resolveConfiguredSeverity(violation, options);
46
- return {
47
- ...violation,
48
- severity: severity === "warning" ? "warning" : undefined,
49
- };
50
- });
51
- }
52
27
  function isBlockingViolation(violation) {
53
28
  return violation.severity !== "warning";
54
29
  }
@@ -136,103 +111,12 @@ async function collectViolations(options) {
136
111
  if (options.rules.removeComments && shouldRunRule("remove-comments", options.onlyRules)) {
137
112
  violations.push(...await collectRemoveCommentsViolations(filterSourceFilesForRule(sourceFiles, options.rules.removeComments), options));
138
113
  }
114
+ if (options.rules.structuralBlankLines && shouldRunRule("structural-blank-lines", options.onlyRules)) {
115
+ violations.push(...await collectStructuralBlankLinesViolations(filterSourceFilesForRule(sourceFiles, options.rules.structuralBlankLines), options));
116
+ }
139
117
  violations.push(...await collectPrettierViolations(options));
140
118
  return sortViolations(applyConfiguredSeverity(violations, options));
141
119
  }
142
- function mapFixRuleResult(result) {
143
- return {
144
- ok: result.ok,
145
- violationCount: result.violationCount,
146
- violations: result.violations,
147
- moved_files: result.moved_files,
148
- rewritten_files: result.rewritten_files,
149
- rewritten_imports: result.rewritten_imports,
150
- removed_comments: result.removed_comments,
151
- formatted_files: result.formatted_files,
152
- unchanged_files: result.unchanged_files,
153
- removed_duplicates: result.removed_duplicates,
154
- added_imports: result.added_imports,
155
- deleted_files: result.deleted_files,
156
- };
157
- }
158
- function shouldRunFixRule(rule, options) {
159
- return shouldRunRule(rule, options.onlyRules);
160
- }
161
- async function applyBannedFilesFix(state, normalized) {
162
- if (!normalized.rules.bannedFiles || !shouldRunFixRule("banned-files", normalized))
163
- return;
164
- const result = await fixBannedFilesRule(filterSourceFilesForRule(state.sourceFiles, normalized.rules.bannedFiles), normalized);
165
- const violations = applyConfiguredSeverity(result.violations, normalized);
166
- state.ruleResults["banned-files"] = mapFixRuleResult({ ...result, violations });
167
- state.violations.push(...violations);
168
- state.deletedFiles += result.deleted_files ?? 0;
169
- if ((result.deleted_files ?? 0) > 0) {
170
- state.sourceFiles = await scanSourceFiles(normalized);
171
- }
172
- }
173
- async function applyMinFileLinesFix(state, normalized, logger) {
174
- if (!normalized.rules.minFileLines || !shouldRunFixRule("min-file-lines", normalized))
175
- return;
176
- const syncOptions = await buildNormalizedSyncOptions(normalized, true);
177
- const result = await fixMinFileLinesRule(filterSourceFilesForRule(state.sourceFiles, normalized.rules.minFileLines), normalized, logger, syncOptions);
178
- const violations = applyConfiguredSeverity(result.violations, normalized);
179
- state.ruleResults["min-file-lines"] = mapFixRuleResult({ ...result, violations });
180
- state.violations.push(...violations);
181
- state.deletedFiles += result.deleted_files ?? 0;
182
- state.rewrittenFiles += result.rewritten_files ?? 0;
183
- state.rewrittenImports += result.rewritten_imports ?? 0;
184
- if ((result.deleted_files ?? 0) > 0 || (result.rewritten_files ?? 0) > 0) {
185
- state.sourceFiles = await scanSourceFiles(normalized);
186
- }
187
- }
188
- async function applyFolderizeFix(state, normalized, logger) {
189
- if (!normalized.rules.folderizeCompoundFiles || !shouldRunFixRule("folderize-compound-files", normalized))
190
- return;
191
- const result = await fixFolderization(filterSourceFilesForRule(state.sourceFiles, normalized.rules.folderizeCompoundFiles), normalized, logger);
192
- const violations = applyConfiguredSeverity(result.violations, normalized);
193
- state.ruleResults["folderize-compound-files"] = mapFixRuleResult({ ...result, violations });
194
- state.violations.push(...violations);
195
- state.movedFiles += result.moved_files;
196
- state.rewrittenFiles += result.rewritten_files;
197
- state.rewrittenImports += result.rewritten_imports;
198
- if (result.moved_files > 0 || result.rewritten_files > 0) {
199
- state.sourceFiles = await scanSourceFiles(normalized);
200
- }
201
- }
202
- async function applySyncImportsFix(state, normalized) {
203
- if (!normalized.rules.syncImports || !shouldRunFixRule("sync-imports", normalized))
204
- return;
205
- const syncOptions = await buildNormalizedSyncOptions(normalized, true);
206
- if (!syncOptions)
207
- return;
208
- const result = await syncImports(syncOptions);
209
- const violations = applyConfiguredSeverity(result.violations, normalized);
210
- state.ruleResults["sync-imports"] = mapFixRuleResult({ ...result, violations });
211
- state.violations.push(...violations);
212
- state.rewrittenFiles += result.rewritten_files;
213
- state.rewrittenImports += result.rewritten_imports;
214
- }
215
- async function applyRemoveCommentsFix(state, normalized) {
216
- if (!normalized.rules.removeComments || !shouldRunFixRule("remove-comments", normalized))
217
- return;
218
- const result = await fixRemoveCommentsRule(filterSourceFilesForRule(state.sourceFiles, normalized.rules.removeComments), normalized);
219
- const violations = applyConfiguredSeverity(result.violations, normalized);
220
- state.ruleResults["remove-comments"] = mapFixRuleResult({ ...result, violations });
221
- state.violations.push(...violations);
222
- state.rewrittenFiles += result.rewritten_files ?? 0;
223
- state.removedComments += result.removed_comments ?? 0;
224
- }
225
- async function applyPrettierFix(state, normalized) {
226
- const result = await applyPrettierFormatterFix(normalized);
227
- if (!result)
228
- return;
229
- const violations = applyConfiguredSeverity(result.violations, normalized);
230
- state.ruleResults.prettier = mapFixRuleResult({ ...result.ruleResult, violations });
231
- state.violations.push(...violations);
232
- state.formattedFiles += result.formattedFiles;
233
- state.unchangedFiles += result.unchangedFiles;
234
- state.rewrittenFiles += result.rewrittenFiles;
235
- }
236
120
  function createFixResult(state) {
237
121
  return {
238
122
  ...summarizeViolations(sortViolations(state.violations)),
@@ -291,6 +175,7 @@ async function fixCodeDiscipline(options) {
291
175
  await applyFolderizeFix(state, normalized, logger);
292
176
  await applySyncImportsFix(state, normalized);
293
177
  await applyRemoveCommentsFix(state, normalized);
178
+ await applyStructuralBlankLinesFix(state, normalized);
294
179
  await applyPrettierFix(state, normalized);
295
180
  const result = attachDisciplineResult("fix", createFixResult(state));
296
181
  logFixResult(result, logger);
@@ -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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"}
@@ -13,6 +13,7 @@ declare const RULE_SLUG_BY_CONFIG_KEY: {
13
13
  readonly minDeclarationName: "min-declaration-name";
14
14
  readonly minFileLines: "min-file-lines";
15
15
  readonly removeComments: "remove-comments";
16
+ readonly structuralBlankLines: "structural-blank-lines";
16
17
  readonly syncImports: "sync-imports";
17
18
  };
18
19
  declare function resolveEnabledRuleSlugs(rules: CodeDisciplineRules | undefined): Set<CodeDisciplineRuleSlug>;
@@ -1 +1 @@
1
- {"version":3,"file":"rule-slugs.d.ts","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,cAAc,EAAE,sBAAsB,EAY3C,CAAC;AAEF,QAAA,MAAM,kBAAkB,EAAE,eAAe,EAOxC,CAAC;AAEF,QAAA,MAAM,eAAe,uBAEX,CAAC;AAEX,QAAA,MAAM,uBAAuB;;;;;;;;;;;;CAYnB,CAAC;AAEX,iBAAS,uBAAuB,CAC9B,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,GAAG,CAAC,sBAAsB,CAAC,CAY7B;AAED,iBAAS,4BAA4B,CACnC,UAAU,EAAE,wBAAwB,GAAG,SAAS,GAC/C,GAAG,CAAC,+BAA+B,CAAC,CAQtC;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,UAAU,EAAE,wBAAwB,GAAG,SAAS,GAC/C,+BAA+B,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAkCnE;AAED,iBAAS,aAAa,CACpB,IAAI,EAAE,+BAA+B,EACrC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACvC,OAAO,CAET;AAED,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,aAAa,GACd,CAAC"}
1
+ {"version":3,"file":"rule-slugs.d.ts","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,cAAc,EAAE,sBAAsB,EAa3C,CAAC;AAEF,QAAA,MAAM,kBAAkB,EAAE,eAAe,EAQxC,CAAC;AAEF,QAAA,MAAM,eAAe,uBAEX,CAAC;AAEX,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;CAanB,CAAC;AAEX,iBAAS,uBAAuB,CAC9B,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,GAAG,CAAC,sBAAsB,CAAC,CAY7B;AAED,iBAAS,4BAA4B,CACnC,UAAU,EAAE,wBAAwB,GAAG,SAAS,GAC/C,GAAG,CAAC,+BAA+B,CAAC,CAQtC;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,UAAU,EAAE,wBAAwB,GAAG,SAAS,GAC/C,+BAA+B,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAkCnE;AAED,iBAAS,aAAa,CACpB,IAAI,EAAE,+BAA+B,EACrC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACvC,OAAO,CAET;AAED,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,aAAa,GACd,CAAC"}
@@ -10,6 +10,7 @@ const ALL_RULE_SLUGS = [
10
10
  "folderize-compound-files",
11
11
  "sync-imports",
12
12
  "remove-comments",
13
+ "structural-blank-lines",
13
14
  "dry",
14
15
  ];
15
16
  const FIXABLE_RULE_SLUGS = [
@@ -18,6 +19,7 @@ const FIXABLE_RULE_SLUGS = [
18
19
  "folderize-compound-files",
19
20
  "sync-imports",
20
21
  "remove-comments",
22
+ "structural-blank-lines",
21
23
  "prettier",
22
24
  ];
23
25
  const FORMATTER_SLUGS = [
@@ -34,6 +36,7 @@ const RULE_SLUG_BY_CONFIG_KEY = {
34
36
  minDeclarationName: "min-declaration-name",
35
37
  minFileLines: "min-file-lines",
36
38
  removeComments: "remove-comments",
39
+ structuralBlankLines: "structural-blank-lines",
37
40
  syncImports: "sync-imports",
38
41
  };
39
42
  function resolveEnabledRuleSlugs(rules) {