@trebired/code-discipline 5.0.3 → 5.2.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 (113) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +21 -12
  3. package/dist/checks/apply-fixes.d.ts +2 -2
  4. package/dist/checks/apply-fixes.d.ts.map +1 -1
  5. package/dist/checks/apply-fixes.js +6 -6
  6. package/dist/checks/apply-fixes.js.map +1 -1
  7. package/dist/checks/{fix-folderization.d.ts → fix-source-file-structure.d.ts} +4 -4
  8. package/dist/checks/fix-source-file-structure.d.ts.map +1 -0
  9. package/dist/checks/{fix-folderization.js → fix-source-file-structure.js} +25 -24
  10. package/dist/checks/fix-source-file-structure.js.map +1 -0
  11. package/dist/checks/index.js +5 -5
  12. package/dist/checks/index.js.map +1 -1
  13. package/dist/checks/rule-slugs.d.ts +1 -1
  14. package/dist/checks/rule-slugs.js +3 -3
  15. package/dist/checks/rule-slugs.js.map +1 -1
  16. package/dist/checks/rules/blank-lines/generic.d.ts +10 -0
  17. package/dist/checks/rules/blank-lines/generic.d.ts.map +1 -0
  18. package/dist/checks/rules/blank-lines/generic.js +242 -0
  19. package/dist/checks/rules/blank-lines/generic.js.map +1 -0
  20. package/dist/checks/rules/blank-lines/index.d.ts.map +1 -1
  21. package/dist/checks/rules/blank-lines/index.js +13 -7
  22. package/dist/checks/rules/blank-lines/index.js.map +1 -1
  23. package/dist/checks/rules/blank-lines/rewrite.d.ts +2 -1
  24. package/dist/checks/rules/blank-lines/rewrite.d.ts.map +1 -1
  25. package/dist/checks/rules/blank-lines/rewrite.js +1 -1
  26. package/dist/checks/rules/blank-lines/rewrite.js.map +1 -1
  27. package/dist/checks/rules/comments/ranges.d.ts +2 -1
  28. package/dist/checks/rules/comments/ranges.d.ts.map +1 -1
  29. package/dist/checks/rules/comments/ranges.js +1 -1
  30. package/dist/checks/rules/comments/ranges.js.map +1 -1
  31. package/dist/checks/rules/dry/candidates.d.ts.map +1 -1
  32. package/dist/checks/rules/dry/candidates.js +52 -32
  33. package/dist/checks/rules/dry/candidates.js.map +1 -1
  34. package/dist/checks/rules/dry/generic.d.ts +5 -0
  35. package/dist/checks/rules/dry/generic.d.ts.map +1 -0
  36. package/dist/checks/rules/dry/generic.js +231 -0
  37. package/dist/checks/rules/dry/generic.js.map +1 -0
  38. package/dist/checks/rules/dry/matching.d.ts.map +1 -1
  39. package/dist/checks/rules/dry/matching.js +12 -6
  40. package/dist/checks/rules/dry/matching.js.map +1 -1
  41. package/dist/checks/rules/dry/model.d.ts +6 -4
  42. package/dist/checks/rules/dry/model.d.ts.map +1 -1
  43. package/dist/checks/rules/dry/model.js +22 -3
  44. package/dist/checks/rules/dry/model.js.map +1 -1
  45. package/dist/checks/rules/dry/similarity.d.ts.map +1 -1
  46. package/dist/checks/rules/dry/similarity.js +2 -0
  47. package/dist/checks/rules/dry/similarity.js.map +1 -1
  48. package/dist/checks/rules/max/function-lines.d.ts +10 -1
  49. package/dist/checks/rules/max/function-lines.d.ts.map +1 -1
  50. package/dist/checks/rules/max/function-lines.js +1 -1
  51. package/dist/checks/rules/max/function-lines.js.map +1 -1
  52. package/dist/checks/rules/max/python.d.ts +7 -2
  53. package/dist/checks/rules/max/python.d.ts.map +1 -1
  54. package/dist/checks/rules/max/python.js +1 -1
  55. package/dist/checks/rules/max/python.js.map +1 -1
  56. package/dist/checks/rules/max/shell.d.ts +2 -1
  57. package/dist/checks/rules/max/shell.d.ts.map +1 -1
  58. package/dist/checks/rules/max/shell.js +1 -1
  59. package/dist/checks/rules/max/shell.js.map +1 -1
  60. package/dist/checks/rules/min/declaration-name.d.ts +1 -8
  61. package/dist/checks/rules/min/declaration-name.d.ts.map +1 -1
  62. package/dist/checks/rules/min/declaration-name.js +217 -7
  63. package/dist/checks/rules/min/declaration-name.js.map +1 -1
  64. package/dist/checks/rules/source-file-structure/index.d.ts +6 -0
  65. package/dist/checks/rules/source-file-structure/index.d.ts.map +1 -0
  66. package/dist/checks/rules/{folderize/compound-files.js → source-file-structure/index.js} +13 -11
  67. package/dist/checks/rules/source-file-structure/index.js.map +1 -0
  68. package/dist/checks/rules/source-file-structure/plan.d.ts +17 -0
  69. package/dist/checks/rules/source-file-structure/plan.d.ts.map +1 -0
  70. package/dist/checks/rules/{folderize → source-file-structure}/plan.js +67 -9
  71. package/dist/checks/rules/source-file-structure/plan.js.map +1 -0
  72. package/dist/checks/severity.js +1 -1
  73. package/dist/checks/severity.js.map +1 -1
  74. package/dist/checks/types.d.ts +8 -6
  75. package/dist/checks/types.d.ts.map +1 -1
  76. package/dist/cli/logging.js +1 -1
  77. package/dist/cli/logging.js.map +1 -1
  78. package/dist/config/normalize/check-options.d.ts.map +1 -1
  79. package/dist/config/normalize/check-options.js +13 -2
  80. package/dist/config/normalize/check-options.js.map +1 -1
  81. package/dist/config/normalize/rule-options.d.ts +4 -3
  82. package/dist/config/normalize/rule-options.d.ts.map +1 -1
  83. package/dist/config/normalize/rule-options.js +16 -9
  84. package/dist/config/normalize/rule-options.js.map +1 -1
  85. package/dist/index.d.ts +2 -2
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +1 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/native/native.d.ts +1 -1
  90. package/dist/native/native.d.ts.map +1 -1
  91. package/dist/shared/constants.d.ts +3 -2
  92. package/dist/shared/constants.d.ts.map +1 -1
  93. package/dist/shared/constants.js +3 -2
  94. package/dist/shared/constants.js.map +1 -1
  95. package/dist/shared/discipline-types.d.ts +1 -1
  96. package/dist/shared/discipline-types.d.ts.map +1 -1
  97. package/dist/shared/languages.d.ts +5 -2
  98. package/dist/shared/languages.d.ts.map +1 -1
  99. package/dist/shared/languages.js +9 -4
  100. package/dist/shared/languages.js.map +1 -1
  101. package/native/darwin-arm64.node +0 -0
  102. package/native/darwin-x64.node +0 -0
  103. package/native/linux-arm64-gnu.node +0 -0
  104. package/native/linux-x64-gnu.node +0 -0
  105. package/package.json +3 -2
  106. package/dist/checks/fix-folderization.d.ts.map +0 -1
  107. package/dist/checks/fix-folderization.js.map +0 -1
  108. package/dist/checks/rules/folderize/compound-files.d.ts +0 -6
  109. package/dist/checks/rules/folderize/compound-files.d.ts.map +0 -1
  110. package/dist/checks/rules/folderize/compound-files.js.map +0 -1
  111. package/dist/checks/rules/folderize/plan.d.ts +0 -16
  112. package/dist/checks/rules/folderize/plan.d.ts.map +0 -1
  113. package/dist/checks/rules/folderize/plan.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to `@trebired/code-discipline` will be documented here.
4
4
 
5
5
  This project follows semantic versioning once published.
6
6
 
7
+ ## 5.2.0
8
+
9
+ - Added formatter wrapping for QML top-level string concatenation expressions so formatting can resolve property lines that combine literals and runtime values.
10
+ - Expanded compact one-line QML blocks as part of `rules.formatting`, including single-statement helper functions and inline statement blocks.
11
+ - Fixed SVG/XML attribute wrapping inside Rust raw string bodies so tag text tails reserve line width and `maxCharactersPerLine` can pass after formatting.
12
+ - Renamed `folderizeCompoundFiles` to `sourceFileStructure` with the `source-file-structure` selector, with no legacy rule alias.
13
+ - Added redundant role suffix cleanup to `sourceFileStructure`, so paths such as `pages/home_page.ts` move to `pages/home.ts` by default.
14
+ - Expanded `sourceFileStructure` planning and moves across supported source languages instead of limiting path normalization to JavaScript and TypeScript family files.
15
+ - Expanded `minDeclarationName` checks across Go, Rust, Python, QML, shell, SCSS, and CSS with language-aware declaration scanning.
16
+ - Expanded `dry` duplicate-function checks across Go, Rust, Python, QML, and shell source files with language-aware token fingerprints.
17
+ - Added generic structural blank-line normalization for supported non-TypeScript languages while keeping the TypeScript AST path for JavaScript and TypeScript files.
18
+
7
19
  ## 5.0.3
8
20
 
9
21
  - Removed the legacy top-level `formatter` compatibility alias; formatting is configured only through `rules.formatting`.
package/README.md CHANGED
@@ -30,7 +30,7 @@ code-discipline check
30
30
  code-discipline check save
31
31
  code-discipline check max-function-lines dry format
32
32
  code-discipline fix
33
- code-discipline fix banned-files min-file-lines max-characters-per-line imports remove-comments structural-blank-lines format
33
+ code-discipline fix banned-files min-file-lines max-characters-per-line source-file-structure imports remove-comments structural-blank-lines format
34
34
  code-discipline gate -- bun run dev
35
35
  ```
36
36
 
@@ -96,7 +96,9 @@ Reports files whose code line count is at or below `min`, defaulting to `1` when
96
96
 
97
97
  #### `minDeclarationName`
98
98
 
99
- Reports JavaScript and TypeScript `function` declarations and simple `const` identifiers whose names are shorter than `min`, defaulting to `2` when the rule is configured.
99
+ Reports named declarations whose names are shorter than `min`, defaulting to `2` when the rule is configured.
100
+
101
+ JavaScript and TypeScript use the TypeScript AST for `function` declarations and simple `const` identifiers. Go, Rust, Python, QML, shell, SCSS, and CSS use language-aware declaration scanners for functions, declarations, properties, variables, and custom properties where those concepts exist.
100
102
 
101
103
  #### `maxCharactersPerLine`
102
104
 
@@ -132,13 +134,13 @@ Reports function-like declarations whose total span exceeds `max`.
132
134
 
133
135
  JavaScript and TypeScript use the TypeScript AST. Go and Rust use brace-aware function scanning. Python uses indentation-aware `def` and `async def` spans. Shell files with `.sh`, `.bash`, or `.zsh` use quote/comment-aware brace function spans. QML uses comment/string-aware scanning for JavaScript-style functions and signal-handler blocks.
134
136
 
135
- #### `folderizeCompoundFiles`
137
+ #### `sourceFileStructure`
136
138
 
137
- Detects flat compound names such as `user_route.ts` and can move them into structural folders such as `user/route.ts`.
139
+ Normalizes source file paths. It detects flat compound names such as `user_route.ts` and can move them into structural folders such as `user/route.ts`. It also removes redundant role suffixes when the parent directory already names the role, such as `pages/home_page.ts` becoming `pages/home.ts`.
138
140
 
139
- The rule config only describes separators now. Whether it mutates is decided by running `code-discipline fix`.
141
+ The rule config describes compound-name separators and redundant role suffixes. Whether it mutates is decided by running `code-discipline fix`.
140
142
 
141
- Folderization autofix stays intentionally conservative: move-aware relative import repair is implemented for the JavaScript and TypeScript module family, while Go and Rust files are scanned safely for other rules but are not folderized automatically.
143
+ Source file structure scans and moves supported source files across JavaScript, TypeScript, Go, Rust, Python, QML, shell, SCSS, and CSS. Move-aware import repair is applied for languages whose import syntax is package-supported.
142
144
 
143
145
  #### `imports`
144
146
 
@@ -219,9 +221,11 @@ code-discipline fix remove-comments
219
221
 
220
222
  #### `structuralBlankLines`
221
223
 
222
- 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`.
224
+ Reports supported source files where major structural sections aren't visually separated, and normalizes the blank lines between them when you run `code-discipline fix`.
223
225
 
224
- 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.
226
+ JavaScript and TypeScript use the TypeScript AST: 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.
227
+
228
+ Go, Rust, Python, QML, shell, SCSS, and CSS use language-aware structural scanning to normalize blank lines between adjacent top-level declarations, functions, handlers, or rules in the same scope.
225
229
 
226
230
  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.
227
231
 
@@ -239,6 +243,8 @@ code-discipline fix structural-blank-lines
239
243
 
240
244
  Reports duplicate function groups across the configured source tree.
241
245
 
246
+ - JavaScript and TypeScript use AST-aware structural and behavior fingerprints
247
+ - Go, Rust, Python, QML, and shell use language-aware function spans with conservative token fingerprints
242
248
  - exact normalized structure is reported with 100% confidence
243
249
  - equivalent normalized behavior in simple pure functions is reported with 100% confidence
244
250
  - matching function names are reported with 100% confidence
@@ -378,8 +384,9 @@ export default defineCodeDisciplineConfig({
378
384
  max: 80,
379
385
  severity: "warning",
380
386
  },
381
- folderizeCompoundFiles: {
387
+ sourceFileStructure: {
382
388
  separators: ["_", "-"],
389
+ roleSuffixes: ["page"],
383
390
  },
384
391
  removeComments: {
385
392
  exclude: ["@ts-nocheck"],
@@ -488,7 +495,7 @@ Rules use kebab-case public slugs:
488
495
  - `max-file-lines`
489
496
  - `max-characters-per-line`
490
497
  - `max-function-lines`
491
- - `folderize-compound-files`
498
+ - `source-file-structure`
492
499
  - `imports`
493
500
  - `remove-comments`
494
501
  - `structural-blank-lines`
@@ -499,13 +506,15 @@ Rules use kebab-case public slugs:
499
506
 
500
507
  The `format` selector is enabled by `rules.formatting`.
501
508
 
509
+ The `structural-blank-lines` selector is enabled by `rules.structuralBlankLines` and normalizes blank lines between structural declarations in supported source languages.
510
+
502
511
  ### Formatting
503
512
 
504
513
  The package-owned Rust formatter is enabled as a rule with `rules.formatting: {}`. Omit `rules.formatting` to leave formatting disabled.
505
514
 
506
515
  `check format` validates formatting without modifying files, while `fix format` writes formatted files. Running `code-discipline fix` with no selectors runs configured formatting after structural, import, comment, and blank-line fixes, then rechecks `max-characters-per-line` when that rule is configured.
507
516
 
508
- The formatter supports JavaScript, TypeScript, Go, Rust, Python, QML, shell files with `.sh`, `.bash`, or `.zsh`, SCSS, and CSS. It normalizes line endings, trailing whitespace, final newline, repeated blank lines, brace-language indentation, indentation-sensitive language whitespace, and safe line wrapping against `rules.maxCharactersPerLine.max`.
517
+ The formatter supports JavaScript, TypeScript, Go, Rust, Python, QML, shell files with `.sh`, `.bash`, or `.zsh`, SCSS, and CSS. It normalizes line endings, trailing whitespace, final newline, repeated blank lines, brace-language indentation, indentation-sensitive language whitespace, compact QML blocks, and safe line wrapping against `rules.maxCharactersPerLine.max`.
509
518
 
510
519
  If `rules.maxCharactersPerLine.max` is configured, the formatter uses that width. Without that rule, formatter line width defaults to `100`.
511
520
 
@@ -528,7 +537,7 @@ rules: {
528
537
 
529
538
  `@trebired/code-discipline` can use a Rust native backend when a matching binary is available, with the TypeScript implementation as the fallback. This follows the same native-fast-path shape as `@trebired/logger`: package users keep the same CLI/API, while hot scanning and rewrite paths can move into Rust.
530
539
 
531
- The current native backend accelerates source scanning, `max-file-lines`, common `max-function-lines` paths, `folderize-compound-files` checks, and `remove-comments`. Its comment scanner understands JavaScript, TypeScript, Go, Rust, Python, QML, shell, SCSS, and CSS. If no binary is present, the package automatically uses the TypeScript fallback.
540
+ The current native backend accelerates source scanning, `max-file-lines`, common `max-function-lines` paths, `source-file-structure` checks, and `remove-comments`. Its comment scanner understands JavaScript, TypeScript, Go, Rust, Python, QML, shell, SCSS, and CSS. If no binary is present, the package automatically uses the TypeScript fallback.
532
541
 
533
542
  Useful native controls:
534
543
 
@@ -16,12 +16,12 @@ type FixState = {
16
16
  };
17
17
  declare function applyBannedFilesFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
18
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>;
19
+ declare function applySourceFileStructureFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions, logger: ReturnType<typeof resolveLogger>): Promise<void>;
20
20
  declare function applyImportsFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
21
21
  declare function applyMaxCharactersPerLineFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
22
22
  declare function applyRemoveCommentsFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
23
23
  declare function applyStructuralBlankLinesFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
24
24
  declare function applyCodeFormatFix(state: FixState, normalized: NormalizedCheckCodeDisciplineOptions): Promise<void>;
25
- export { applyBannedFilesFix, applyCodeFormatFix as applyCodeFormatterFix, applyFolderizeFix, applyMaxCharactersPerLineFix, applyMinFileLinesFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applyImportsFix, };
25
+ export { applyBannedFilesFix, applyCodeFormatFix as applyCodeFormatterFix, applySourceFileStructureFix, applyMaxCharactersPerLineFix, applyMinFileLinesFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applyImportsFix, };
26
26
  export type { FixState };
27
27
  //# sourceMappingURL=apply-fixes.d.ts.map
@@ -1 +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,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAWnD,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,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/G;AAED,iBAAe,4BAA4B,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5H;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,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlH;AAED,OAAO,EACL,mBAAmB,EACnB,kBAAkB,IAAI,qBAAqB,EAC3C,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,GAChB,CAAC;AACF,YAAY,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"apply-fixes.d.ts","sourceRoot":"","sources":["../../src/checks/apply-fixes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAWnD,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,2BAA2B,CACxC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,oCAAoC,EAChD,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,iBAAe,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/G;AAED,iBAAe,4BAA4B,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5H;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,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlH;AAED,OAAO,EACL,mBAAmB,EACnB,kBAAkB,IAAI,qBAAqB,EAC3C,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,GAChB,CAAC;AACF,YAAY,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { scanSourceFiles } from "../imports/scan.js";
2
2
  import { imports } from "../imports/imports.js";
3
3
  import { filterSourceFilesForRule } from "../shared/rule-exclusions.js";
4
- import { fixFolderization } from "./fix-folderization.js";
4
+ import { fixSourceFileStructure } from "./fix-source-file-structure.js";
5
5
  import { applyCodeFormatterFix } from "./format.js";
6
6
  import { shouldRunRule } from "./rule-slugs.js";
7
7
  import { fixBannedFilesRule } from "./rules/banned/files.js";
@@ -59,12 +59,12 @@ async function applyMinFileLinesFix(state, normalized, logger) {
59
59
  state.sourceFiles = await scanSourceFiles(normalized);
60
60
  }
61
61
  }
62
- async function applyFolderizeFix(state, normalized, logger) {
63
- if (!normalized.rules.folderizeCompoundFiles || !shouldRunFixRule("folderize-compound-files", normalized))
62
+ async function applySourceFileStructureFix(state, normalized, logger) {
63
+ if (!normalized.rules.sourceFileStructure || !shouldRunFixRule("source-file-structure", normalized))
64
64
  return;
65
- const result = await fixFolderization(filterSourceFilesForRule(state.sourceFiles, normalized.rules.folderizeCompoundFiles), normalized, logger);
65
+ const result = await fixSourceFileStructure(filterSourceFilesForRule(state.sourceFiles, normalized.rules.sourceFileStructure), normalized, logger);
66
66
  const violations = applyConfiguredSeverity(result.violations, normalized);
67
- state.ruleResults["folderize-compound-files"] = mapFixRuleResult({ ...result, violations });
67
+ state.ruleResults["source-file-structure"] = mapFixRuleResult({ ...result, violations });
68
68
  state.violations.push(...violations);
69
69
  state.movedFiles += result.moved_files;
70
70
  state.rewrittenFiles += result.rewritten_files;
@@ -126,5 +126,5 @@ async function applyCodeFormatFix(state, normalized) {
126
126
  state.unchangedFiles += result.unchangedFiles;
127
127
  state.rewrittenFiles += result.rewrittenFiles;
128
128
  }
129
- export { applyBannedFilesFix, applyCodeFormatFix as applyCodeFormatterFix, applyFolderizeFix, applyMaxCharactersPerLineFix, applyMinFileLinesFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applyImportsFix, };
129
+ export { applyBannedFilesFix, applyCodeFormatFix as applyCodeFormatterFix, applySourceFileStructureFix, applyMaxCharactersPerLineFix, applyMinFileLinesFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applyImportsFix, };
130
130
  //# sourceMappingURL=apply-fixes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-fixes.js","sourceRoot":"","sources":["../../src/checks/apply-fixes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-fixes.js","sourceRoot":"","sources":["../../src/checks/apply-fixes.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,11 @@ type PlannedMove = {
8
8
  toAbsolutePath: string;
9
9
  toRelativePath: string;
10
10
  };
11
- declare function createFolderizationViolation(filePath: string, suggestedPath: string, options: NormalizedCheckCodeDisciplineOptions, details: Record<string, unknown>): CodeDisciplineViolation;
11
+ declare function createSourceFileStructureViolation(filePath: string, suggestedPath: string, options: NormalizedCheckCodeDisciplineOptions, details: Record<string, unknown>): CodeDisciplineViolation;
12
12
  declare function buildMovePlan(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions): {
13
13
  moves: PlannedMove[];
14
14
  violations: CodeDisciplineViolation[];
15
15
  };
16
- declare function fixFolderization(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions, logger: NormalizedCodeDisciplineLogger): Promise<FixCodeDisciplineResult>;
17
- export { buildMovePlan, createFolderizationViolation, fixFolderization };
18
- //# sourceMappingURL=fix-folderization.d.ts.map
16
+ declare function fixSourceFileStructure(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions, logger: NormalizedCodeDisciplineLogger): Promise<FixCodeDisciplineResult>;
17
+ export { buildMovePlan, createSourceFileStructureViolation, fixSourceFileStructure };
18
+ //# sourceMappingURL=fix-source-file-structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-source-file-structure.d.ts","sourceRoot":"","sources":["../../src/checks/fix-source-file-structure.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAW7D,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;AACF,iBAAS,kCAAkC,CACzC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,oCAAoC,EAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,uBAAuB,CASzB;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,CAsBjE;AAwLD,iBAAe,sBAAsB,CACnC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CA6DlC;AAED,OAAO,EAAE,aAAa,EAAE,kCAAkC,EAAE,sBAAsB,EAAE,CAAC"}
@@ -5,33 +5,34 @@ import { removeEmptyDirectories } from "../shared/directories.js";
5
5
  import { formatRelativeSpecifier } from "../imports/format.js";
6
6
  import { applyTextReplacements, collectModuleSpecifiers } from "../imports/module-specifiers.js";
7
7
  import { isRelativeImportSpecifier } from "../imports/resolve.js";
8
- import { supportsFolderizationFix } from "../shared/languages.js";
8
+ import { supportsImports } from "../shared/languages.js";
9
9
  import { FileConflictError, FixFailureError, RewriteFailureError } from "../shared/errors.js";
10
10
  import { ensureDotExtension, pathExists } from "../shared/utils.js";
11
11
  import { createRuleProgress, emitRuleChunk, emitRuleCompleted } from "./progress.js";
12
- import { planFolderizeCompoundFiles } from "./rules/folderize/plan.js";
13
- function createFolderizationViolation(filePath, suggestedPath, options, details) {
12
+ import { planSourceFileStructure } from "./rules/source-file-structure/plan.js";
13
+ function createSourceFileStructureViolation(filePath, suggestedPath, options, details) {
14
14
  return {
15
- rule: "folderize-compound-files",
15
+ rule: "source-file-structure",
16
16
  fix: true,
17
17
  filePath,
18
- message: `file can be grouped under ${suggestedPath}`,
18
+ message: `file path should be normalized to ${suggestedPath}`,
19
19
  suggestedPath,
20
20
  details,
21
21
  };
22
22
  }
23
23
  function buildMovePlan(sourceFiles, options) {
24
- const candidates = planFolderizeCompoundFiles(sourceFiles, options);
24
+ const candidates = planSourceFileStructure(sourceFiles, options);
25
25
  const moves = candidates.map((candidate) => ({
26
26
  fromAbsolutePath: candidate.absolutePath,
27
27
  fromRelativePath: candidate.relativeFromProjectRoot,
28
28
  toAbsolutePath: candidate.suggestedAbsolutePath,
29
29
  toRelativePath: candidate.suggestedPath,
30
30
  }));
31
- const violations = candidates.map((candidate) => createFolderizationViolation(candidate.relativeFromProjectRoot, candidate.suggestedPath, options, {
31
+ const violations = candidates.map((candidate) => createSourceFileStructureViolation(candidate.relativeFromProjectRoot, candidate.suggestedPath, options, {
32
32
  mode: candidate.mode,
33
33
  prefix: candidate.prefix,
34
34
  remainder: candidate.remainder,
35
+ ...(candidate.roleSuffix ? { roleSuffix: candidate.roleSuffix } : {}),
35
36
  separator: candidate.separator,
36
37
  }));
37
38
  return { moves, violations };
@@ -50,7 +51,7 @@ function resolveRelativeFromInventory(specifier, sourceFilePath, sourceExtension
50
51
  }
51
52
  return null;
52
53
  }
53
- async function planImportRewritesForFolderizationMoves(sourceFiles, moves, options) {
54
+ async function planImportRewritesForSourceFileStructureMoves(sourceFiles, moves, options) {
54
55
  if (moves.length === 0) {
55
56
  return {
56
57
  rewrittenByPath: new Map(),
@@ -63,7 +64,7 @@ async function planImportRewritesForFolderizationMoves(sourceFiles, moves, optio
63
64
  const rewrittenByPath = new Map();
64
65
  const progress = createRuleProgress({
65
66
  observer: options.progressObserver,
66
- rule: "folderize-compound-files",
67
+ rule: "source-file-structure",
67
68
  stage: "rewrite-plan",
68
69
  totalItems: sourceFiles.length,
69
70
  });
@@ -71,7 +72,7 @@ async function planImportRewritesForFolderizationMoves(sourceFiles, moves, optio
71
72
  let rewrittenImports = 0;
72
73
  for (let index = 0; index < sourceFiles.length; index += 1) {
73
74
  const file = sourceFiles[index];
74
- if (!supportsFolderizationFix(file.extension)) {
75
+ if (!supportsImports(file.extension)) {
75
76
  emitRuleChunk(progress, index + 1, 0, { rewrittenFiles, rewrittenImports });
76
77
  continue;
77
78
  }
@@ -137,7 +138,7 @@ async function validateMovePlan(moves) {
137
138
  async function moveFiles(moves, options) {
138
139
  const progress = createRuleProgress({
139
140
  observer: options.progressObserver,
140
- rule: "folderize-compound-files",
141
+ rule: "source-file-structure",
141
142
  stage: "move",
142
143
  totalItems: moves.length,
143
144
  });
@@ -156,12 +157,12 @@ async function moveFiles(moves, options) {
156
157
  emitRuleCompleted(progress, 0, { movedFiles });
157
158
  return movedFiles;
158
159
  }
159
- async function writeFolderizationRewrites(rewrites, options) {
160
+ async function writeSourceFileStructureRewrites(rewrites, options) {
160
161
  const entries = [...rewrites.entries()];
161
162
  const totalImports = entries.reduce((sum, [, rewrite]) => sum + rewrite.count, 0);
162
163
  const progress = createRuleProgress({
163
164
  observer: options.progressObserver,
164
- rule: "folderize-compound-files",
165
+ rule: "source-file-structure",
165
166
  stage: "write",
166
167
  totalItems: entries.length,
167
168
  });
@@ -178,12 +179,12 @@ async function writeFolderizationRewrites(rewrites, options) {
178
179
  rewrittenImports: totalImports,
179
180
  });
180
181
  }
181
- async function fixFolderization(sourceFiles, options, logger) {
182
+ async function fixSourceFileStructure(sourceFiles, options, logger) {
182
183
  const { moves, violations } = buildMovePlan(sourceFiles, options);
183
- if (!options.rules.folderizeCompoundFiles || moves.length === 0) {
184
- logger.info("fix-folderization-unchanged", "no folderization moves required", {
184
+ if (!options.rules.sourceFileStructure || moves.length === 0) {
185
+ logger.info("fix-source-file-structure-unchanged", "no source file structure moves required", {
185
186
  moves: 0,
186
- }, { group: ruleLogGroup("folderize-compound-files") });
187
+ }, { group: ruleLogGroup("source-file-structure") });
187
188
  return {
188
189
  ok: true,
189
190
  violationCount: 0,
@@ -201,15 +202,15 @@ async function fixFolderization(sourceFiles, options, logger) {
201
202
  await validateMovePlan(moves);
202
203
  const sourceDirectories = moves.map((move) => path.dirname(move.fromAbsolutePath));
203
204
  try {
204
- const rewriteState = await planImportRewritesForFolderizationMoves(sourceFiles, moves, options);
205
+ const rewriteState = await planImportRewritesForSourceFileStructureMoves(sourceFiles, moves, options);
205
206
  const movedFiles = await moveFiles(moves, options);
206
- await writeFolderizationRewrites(rewriteState.rewrittenByPath, options);
207
+ await writeSourceFileStructureRewrites(rewriteState.rewrittenByPath, options);
207
208
  await removeEmptyDirectories(sourceDirectories);
208
- logger.success("fix-folderization-finished", `folderized files=${movedFiles} rewrittenImports=${rewriteState.rewrittenImports}`, {
209
+ logger.success("fix-source-file-structure-finished", `source file structure moves=${movedFiles} rewrittenImports=${rewriteState.rewrittenImports}`, {
209
210
  movedFiles,
210
211
  rewrittenFiles: rewriteState.rewrittenFiles,
211
212
  rewrittenImports: rewriteState.rewrittenImports,
212
- }, { group: ruleLogGroup("folderize-compound-files") });
213
+ }, { group: ruleLogGroup("source-file-structure") });
213
214
  return {
214
215
  ok: true,
215
216
  violationCount: 0,
@@ -228,10 +229,10 @@ async function fixFolderization(sourceFiles, options, logger) {
228
229
  if (error instanceof FileConflictError || error instanceof RewriteFailureError) {
229
230
  throw error;
230
231
  }
231
- throw new FixFailureError("Folderization fix failed", {
232
+ throw new FixFailureError("Source file structure fix failed", {
232
233
  cause: error instanceof Error ? error.message : String(error),
233
234
  });
234
235
  }
235
236
  }
236
- export { buildMovePlan, createFolderizationViolation, fixFolderization };
237
- //# sourceMappingURL=fix-folderization.js.map
237
+ export { buildMovePlan, createSourceFileStructureViolation, fixSourceFileStructure };
238
+ //# sourceMappingURL=fix-source-file-structure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-source-file-structure.js","sourceRoot":"","sources":["../../src/checks/fix-source-file-structure.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { scanSourceFiles } from "../imports/scan.js";
5
5
  import { runLogGroup } from "../shared/log-groups.js";
6
6
  import { resolveLogger } from "../shared/logging.js";
7
7
  import { filterSourceFilesForRule } from "../shared/rule-exclusions.js";
8
- import { applyBannedFilesFix, applyFolderizeFix, applyMaxCharactersPerLineFix, applyMinFileLinesFix, applyCodeFormatterFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applyImportsFix, } from "./apply-fixes.js";
8
+ import { applyBannedFilesFix, applySourceFileStructureFix, applyMaxCharactersPerLineFix, applyMinFileLinesFix, applyCodeFormatterFix, applyRemoveCommentsFix, applyStructuralBlankLinesFix, applyImportsFix, } from "./apply-fixes.js";
9
9
  import { collectFormatViolations } from "./format.js";
10
10
  import { shouldRunRule } from "./rule-slugs.js";
11
11
  import { collectBannedFileViolations } from "./rules/banned/files.js";
@@ -15,7 +15,7 @@ import { collectDryViolations } from "./rules/dry/index.js";
15
15
  import { runMaxCharactersPerLineRule } from "./rules/max/characters-per-line.js";
16
16
  import { runMaxFileLinesRule } from "./rules/max/file-lines.js";
17
17
  import { runMaxFunctionLinesRule } from "./rules/max/function-lines.js";
18
- import { runFolderizeCompoundFilesRule } from "./rules/folderize/compound-files.js";
18
+ import { runSourceFileStructureRule } from "./rules/source-file-structure/index.js";
19
19
  import { runMinDeclarationNameRule } from "./rules/min/declaration-name.js";
20
20
  import { runMinFileLinesRule } from "./rules/min/file/lines.js";
21
21
  import { collectRemoveCommentsViolations } from "./rules/remove-comments.js";
@@ -96,8 +96,8 @@ async function collectViolations(options) {
96
96
  if (options.rules.maxFunctionLines && shouldRunRule("max-function-lines", options.onlyRules)) {
97
97
  violations.push(...await runMaxFunctionLinesRule(filterSourceFilesForRule(sourceFiles, options.rules.maxFunctionLines), options));
98
98
  }
99
- if (options.rules.folderizeCompoundFiles && shouldRunRule("folderize-compound-files", options.onlyRules)) {
100
- violations.push(...runFolderizeCompoundFilesRule(filterSourceFilesForRule(sourceFiles, options.rules.folderizeCompoundFiles), options));
99
+ if (options.rules.sourceFileStructure && shouldRunRule("source-file-structure", options.onlyRules)) {
100
+ violations.push(...runSourceFileStructureRule(filterSourceFilesForRule(sourceFiles, options.rules.sourceFileStructure), options));
101
101
  }
102
102
  if (options.rules.dry && shouldRunRule("dry", options.onlyRules)) {
103
103
  violations.push(...await collectDryViolations(filterSourceFilesForRule(sourceFiles, options.rules.dry), options));
@@ -172,7 +172,7 @@ async function fixCodeDiscipline(options) {
172
172
  };
173
173
  await applyBannedFilesFix(state, normalized);
174
174
  await applyMinFileLinesFix(state, normalized, logger);
175
- await applyFolderizeFix(state, normalized, logger);
175
+ await applySourceFileStructureFix(state, normalized, logger);
176
176
  await applyImportsFix(state, normalized);
177
177
  await applyRemoveCommentsFix(state, normalized);
178
178
  await applyStructuralBlankLinesFix(state, normalized);
@@ -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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"}
@@ -5,7 +5,7 @@ declare const RULE_SLUG_BY_CONFIG_KEY: {
5
5
  readonly bannedFiles: "banned-files";
6
6
  readonly bannedPatterns: "banned-patterns";
7
7
  readonly dry: "dry";
8
- readonly folderizeCompoundFiles: "folderize-compound-files";
8
+ readonly sourceFileStructure: "source-file-structure";
9
9
  readonly maxCharactersPerLine: "max-characters-per-line";
10
10
  readonly maxFileLines: "max-file-lines";
11
11
  readonly maxFunctionLines: "max-function-lines";
@@ -7,7 +7,7 @@ const ALL_RULE_SLUGS = [
7
7
  "max-file-lines",
8
8
  "max-characters-per-line",
9
9
  "max-function-lines",
10
- "folderize-compound-files",
10
+ "source-file-structure",
11
11
  "imports",
12
12
  "remove-comments",
13
13
  "structural-blank-lines",
@@ -18,7 +18,7 @@ const FIXABLE_RULE_SLUGS = [
18
18
  "banned-files",
19
19
  "min-file-lines",
20
20
  "max-characters-per-line",
21
- "folderize-compound-files",
21
+ "source-file-structure",
22
22
  "imports",
23
23
  "remove-comments",
24
24
  "structural-blank-lines",
@@ -28,7 +28,7 @@ const RULE_SLUG_BY_CONFIG_KEY = {
28
28
  bannedFiles: "banned-files",
29
29
  bannedPatterns: "banned-patterns",
30
30
  dry: "dry",
31
- folderizeCompoundFiles: "folderize-compound-files",
31
+ sourceFileStructure: "source-file-structure",
32
32
  maxCharactersPerLine: "max-characters-per-line",
33
33
  maxFileLines: "max-file-lines",
34
34
  maxFunctionLines: "max-function-lines",
@@ -1 +1 @@
1
- {"version":3,"file":"rule-slugs.js","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-slugs.js","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ApplyBoundaryEditsResult } from "./rewrite.js";
2
+ type GenericStructuralUnit = {
3
+ endLine: number;
4
+ scopeKey: string;
5
+ startLine: number;
6
+ };
7
+ declare function collectGenericStructuralUnits(text: string, extension: string): GenericStructuralUnit[];
8
+ declare function rewriteGenericStructuralBlankLines(text: string, extension: string): ApplyBoundaryEditsResult;
9
+ export { collectGenericStructuralUnits, rewriteGenericStructuralBlankLines };
10
+ //# sourceMappingURL=generic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/generic.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAsB,KAAK,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGjF,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA6QF,iBAAS,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAO/F;AAED,iBAAS,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,wBAAwB,CAKrG;AAED,OAAO,EAAE,6BAA6B,EAAE,kCAAkC,EAAE,CAAC"}