@trebired/code-discipline 5.0.2 → 5.1.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 (81) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +11 -5
  3. package/dist/checks/fix-folderization.js +2 -2
  4. package/dist/checks/fix-folderization.js.map +1 -1
  5. package/dist/checks/format.js +2 -2
  6. package/dist/checks/format.js.map +1 -1
  7. package/dist/checks/rule-slugs.d.ts +2 -4
  8. package/dist/checks/rule-slugs.d.ts.map +1 -1
  9. package/dist/checks/rule-slugs.js +5 -17
  10. package/dist/checks/rule-slugs.js.map +1 -1
  11. package/dist/checks/rules/blank-lines/generic.d.ts +10 -0
  12. package/dist/checks/rules/blank-lines/generic.d.ts.map +1 -0
  13. package/dist/checks/rules/blank-lines/generic.js +242 -0
  14. package/dist/checks/rules/blank-lines/generic.js.map +1 -0
  15. package/dist/checks/rules/blank-lines/index.d.ts.map +1 -1
  16. package/dist/checks/rules/blank-lines/index.js +13 -7
  17. package/dist/checks/rules/blank-lines/index.js.map +1 -1
  18. package/dist/checks/rules/blank-lines/rewrite.d.ts +2 -1
  19. package/dist/checks/rules/blank-lines/rewrite.d.ts.map +1 -1
  20. package/dist/checks/rules/blank-lines/rewrite.js +1 -1
  21. package/dist/checks/rules/blank-lines/rewrite.js.map +1 -1
  22. package/dist/checks/rules/comments/ranges.d.ts +2 -1
  23. package/dist/checks/rules/comments/ranges.d.ts.map +1 -1
  24. package/dist/checks/rules/comments/ranges.js +1 -1
  25. package/dist/checks/rules/comments/ranges.js.map +1 -1
  26. package/dist/checks/rules/dry/candidates.d.ts.map +1 -1
  27. package/dist/checks/rules/dry/candidates.js +52 -32
  28. package/dist/checks/rules/dry/candidates.js.map +1 -1
  29. package/dist/checks/rules/dry/generic.d.ts +5 -0
  30. package/dist/checks/rules/dry/generic.d.ts.map +1 -0
  31. package/dist/checks/rules/dry/generic.js +231 -0
  32. package/dist/checks/rules/dry/generic.js.map +1 -0
  33. package/dist/checks/rules/dry/matching.d.ts.map +1 -1
  34. package/dist/checks/rules/dry/matching.js +12 -6
  35. package/dist/checks/rules/dry/matching.js.map +1 -1
  36. package/dist/checks/rules/dry/model.d.ts +6 -4
  37. package/dist/checks/rules/dry/model.d.ts.map +1 -1
  38. package/dist/checks/rules/dry/model.js +22 -3
  39. package/dist/checks/rules/dry/model.js.map +1 -1
  40. package/dist/checks/rules/dry/similarity.d.ts.map +1 -1
  41. package/dist/checks/rules/dry/similarity.js +2 -0
  42. package/dist/checks/rules/dry/similarity.js.map +1 -1
  43. package/dist/checks/rules/max/function-lines.d.ts +10 -1
  44. package/dist/checks/rules/max/function-lines.d.ts.map +1 -1
  45. package/dist/checks/rules/max/function-lines.js +1 -1
  46. package/dist/checks/rules/max/function-lines.js.map +1 -1
  47. package/dist/checks/rules/max/python.d.ts +7 -2
  48. package/dist/checks/rules/max/python.d.ts.map +1 -1
  49. package/dist/checks/rules/max/python.js +1 -1
  50. package/dist/checks/rules/max/python.js.map +1 -1
  51. package/dist/checks/rules/max/shell.d.ts +2 -1
  52. package/dist/checks/rules/max/shell.d.ts.map +1 -1
  53. package/dist/checks/rules/max/shell.js +1 -1
  54. package/dist/checks/rules/max/shell.js.map +1 -1
  55. package/dist/checks/types.d.ts +3 -6
  56. package/dist/checks/types.d.ts.map +1 -1
  57. package/dist/config/normalize/check-options.d.ts.map +1 -1
  58. package/dist/config/normalize/check-options.js +7 -3
  59. package/dist/config/normalize/check-options.js.map +1 -1
  60. package/dist/config/normalize/formatter-options.d.ts +1 -1
  61. package/dist/config/normalize/formatter-options.d.ts.map +1 -1
  62. package/dist/config/normalize/formatter-options.js +2 -8
  63. package/dist/config/normalize/formatter-options.js.map +1 -1
  64. package/dist/formatters/code.js +4 -4
  65. package/dist/formatters/code.js.map +1 -1
  66. package/dist/index.d.ts +2 -2
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/run.d.ts.map +1 -1
  69. package/dist/run.js +14 -2
  70. package/dist/run.js.map +1 -1
  71. package/dist/shared/discipline-types.d.ts +2 -3
  72. package/dist/shared/discipline-types.d.ts.map +1 -1
  73. package/dist/shared/languages.d.ts +4 -2
  74. package/dist/shared/languages.d.ts.map +1 -1
  75. package/dist/shared/languages.js +6 -4
  76. package/dist/shared/languages.js.map +1 -1
  77. package/native/darwin-arm64.node +0 -0
  78. package/native/darwin-x64.node +0 -0
  79. package/native/linux-arm64-gnu.node +0 -0
  80. package/native/linux-x64-gnu.node +0 -0
  81. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,20 @@ 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.1.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
+ - Expanded `folderizeCompoundFiles` planning and moves across supported source languages instead of limiting folderization to JavaScript and TypeScript family files.
13
+ - Expanded `dry` duplicate-function checks across Go, Rust, Python, QML, and shell source files with language-aware token fingerprints.
14
+ - Added generic structural blank-line normalization for supported non-TypeScript languages while keeping the TypeScript AST path for JavaScript and TypeScript files.
15
+
16
+ ## 5.0.3
17
+
18
+ - Removed the legacy top-level `formatter` compatibility alias; formatting is configured only through `rules.formatting`.
19
+ - Removed formatter-specific public selector exports now that `format` is a rule slug.
20
+
7
21
  ## 5.0.2
8
22
 
9
23
  - Moved the primary formatting config surface to `rules.formatting: {}` so formatting is enabled like the other rule-backed checks and fixes.
package/README.md CHANGED
@@ -138,7 +138,7 @@ Detects flat compound names such as `user_route.ts` and can move them into struc
138
138
 
139
139
  The rule config only describes separators now. Whether it mutates is decided by running `code-discipline fix`.
140
140
 
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.
141
+ Folderization 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
142
 
143
143
  #### `imports`
144
144
 
@@ -219,9 +219,11 @@ code-discipline fix remove-comments
219
219
 
220
220
  #### `structuralBlankLines`
221
221
 
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`.
222
+ 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
223
 
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.
224
+ 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.
225
+
226
+ 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
227
 
226
228
  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
229
 
@@ -239,6 +241,8 @@ code-discipline fix structural-blank-lines
239
241
 
240
242
  Reports duplicate function groups across the configured source tree.
241
243
 
244
+ - JavaScript and TypeScript use AST-aware structural and behavior fingerprints
245
+ - Go, Rust, Python, QML, and shell use language-aware function spans with conservative token fingerprints
242
246
  - exact normalized structure is reported with 100% confidence
243
247
  - equivalent normalized behavior in simple pure functions is reported with 100% confidence
244
248
  - matching function names are reported with 100% confidence
@@ -499,13 +503,15 @@ Rules use kebab-case public slugs:
499
503
 
500
504
  The `format` selector is enabled by `rules.formatting`.
501
505
 
506
+ The `structural-blank-lines` selector is enabled by `rules.structuralBlankLines` and normalizes blank lines between structural declarations in supported source languages.
507
+
502
508
  ### Formatting
503
509
 
504
- The package-owned Rust formatter is enabled as a rule with `rules.formatting: {}`. Omit `rules.formatting` to leave formatting disabled. The older top-level `formatter: true` switch remains accepted as a compatibility alias, but new config should use `rules.formatting`.
510
+ The package-owned Rust formatter is enabled as a rule with `rules.formatting: {}`. Omit `rules.formatting` to leave formatting disabled.
505
511
 
506
512
  `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
513
 
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`.
514
+ 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
515
 
510
516
  If `rules.maxCharactersPerLine.max` is configured, the formatter uses that width. Without that rule, formatter line width defaults to `100`.
511
517
 
@@ -5,7 +5,7 @@ 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";
@@ -71,7 +71,7 @@ async function planImportRewritesForFolderizationMoves(sourceFiles, moves, optio
71
71
  let rewrittenImports = 0;
72
72
  for (let index = 0; index < sourceFiles.length; index += 1) {
73
73
  const file = sourceFiles[index];
74
- if (!supportsFolderizationFix(file.extension)) {
74
+ if (!supportsImports(file.extension)) {
75
75
  emitRuleChunk(progress, index + 1, 0, { rewrittenFiles, rewrittenImports });
76
76
  continue;
77
77
  }
@@ -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;AAO7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAQvE,SAAS,4BAA4B,CACnC,QAAgB,EAChB,aAAqB,EACrB,OAA6C,EAC7C,OAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,GAAG,EAAE,IAAI;QACT,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,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,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,gBAAgB;QAClC,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,WAAW,CAAC,MAAM;KAC/B,CAAC,CAAC;IACH,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAE,CAAC;QACjC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC5E,SAAS;QACX,CAAC;QACD,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,EAAE,CAAC;YACrB,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC5E,SAAS;QACX,CAAC;QAED,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC1C,cAAc,IAAI,CAAC,CAAC;QACpB,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC;QAC/B,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACrE,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,EAAE,OAA6C;IAC1F,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,gBAAgB;QAClC,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,KAAK,CAAC,MAAM;KACzB,CAAC,CAAC;IACH,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAClD,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACtD,SAAS;QACX,CAAC;QACD,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;QAChB,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,QAAsD,EACtD,OAA6C;IAE7C,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,gBAAgB;QAClC,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,OAAO,CAAC,MAAM;KAC3B,CAAC,CAAC;IAEH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAE,CAAC;QACzC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE;YACpC,cAAc,EAAE,KAAK,GAAG,CAAC;YACzB,gBAAgB,EAAE,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE;QAC7B,cAAc,EAAE,OAAO,CAAC,MAAM;QAC9B,gBAAgB,EAAE,YAAY;KAC/B,CAAC,CAAC;AACL,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;IAElE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,iCAAiC,EAAE;YAC5E,KAAK,EAAE,CAAC;SACT,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QACxD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;SACf,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,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,0BAA0B,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAExE,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,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAExD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,UAAU;YACvB,eAAe,EAAE,YAAY,CAAC,cAAc;YAC5C,iBAAiB,EAAE,YAAY,CAAC,gBAAgB;YAChD,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;SACf,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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"}
@@ -1,12 +1,12 @@
1
1
  import { runCodeFormatter } from "../formatters/code.js";
2
2
  import { shouldRunRule } from "./rule-slugs.js";
3
3
  async function collectFormatViolations(options) {
4
- if (!options.formatter || !shouldRunRule("format", options.onlyRules))
4
+ if (!options.rules.formatting || !shouldRunRule("format", options.onlyRules))
5
5
  return [];
6
6
  return (await runCodeFormatter(options, "check")).violations;
7
7
  }
8
8
  async function applyCodeFormatterFix(options) {
9
- if (!options.formatter || !shouldRunRule("format", options.onlyRules))
9
+ if (!options.rules.formatting || !shouldRunRule("format", options.onlyRules))
10
10
  return null;
11
11
  const result = await runCodeFormatter(options, "fix");
12
12
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/checks/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAchD,KAAK,UAAU,uBAAuB,CACpC,OAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACjF,OAAO,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEtD,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE;YACV,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC;KACF,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/checks/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAchD,KAAK,UAAU,uBAAuB,CACpC,OAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACxF,OAAO,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEtD,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE;YACV,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC;KACF,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import type { CodeDisciplineMode, CodeDisciplineCheckSelectorSlug, CodeDisciplineRuleSlug, CodeDisciplineRules, FixableRuleSlug } from "./types.js";
2
2
  declare const ALL_RULE_SLUGS: CodeDisciplineRuleSlug[];
3
3
  declare const FIXABLE_RULE_SLUGS: FixableRuleSlug[];
4
- declare const FORMATTER_SLUGS: readonly ["format"];
5
4
  declare const RULE_SLUG_BY_CONFIG_KEY: {
6
5
  readonly bannedFiles: "banned-files";
7
6
  readonly bannedPatterns: "banned-patterns";
@@ -18,8 +17,7 @@ declare const RULE_SLUG_BY_CONFIG_KEY: {
18
17
  readonly imports: "imports";
19
18
  };
20
19
  declare function resolveEnabledRuleSlugs(rules: CodeDisciplineRules | undefined): Set<CodeDisciplineRuleSlug>;
21
- declare function resolveEnabledFormatterSlugs(formatter: boolean | undefined): Set<CodeDisciplineCheckSelectorSlug>;
22
- declare function normalizeOnlyRules(mode: CodeDisciplineMode, onlyRules: readonly string[] | undefined, rules: CodeDisciplineRules | undefined, formatter: boolean | undefined): CodeDisciplineCheckSelectorSlug[] | FixableRuleSlug[] | undefined;
20
+ declare function normalizeOnlyRules(mode: CodeDisciplineMode, onlyRules: readonly string[] | undefined, rules: CodeDisciplineRules | undefined): CodeDisciplineCheckSelectorSlug[] | FixableRuleSlug[] | undefined;
23
21
  declare function shouldRunRule(rule: CodeDisciplineCheckSelectorSlug, onlyRules: readonly string[] | undefined): boolean;
24
- export { ALL_RULE_SLUGS, FIXABLE_RULE_SLUGS, FORMATTER_SLUGS, RULE_SLUG_BY_CONFIG_KEY, normalizeOnlyRules, resolveEnabledFormatterSlugs, resolveEnabledRuleSlugs, shouldRunRule, };
22
+ export { ALL_RULE_SLUGS, FIXABLE_RULE_SLUGS, RULE_SLUG_BY_CONFIG_KEY, normalizeOnlyRules, resolveEnabledRuleSlugs, shouldRunRule, };
25
23
  //# sourceMappingURL=rule-slugs.d.ts.map
@@ -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,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,cAAc,EAAE,sBAAsB,EAc3C,CAAC;AAEF,QAAA,MAAM,kBAAkB,EAAE,eAAe,EASxC,CAAC;AAEF,QAAA,MAAM,eAAe,qBAEX,CAAC;AAEX,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;CAcnB,CAAC;AAEX,iBAAS,uBAAuB,CAC9B,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,GAAG,CAAC,sBAAsB,CAAC,CAY7B;AAED,iBAAS,4BAA4B,CACnC,SAAS,EAAE,OAAO,GAAG,SAAS,GAC7B,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,SAAS,EAAE,OAAO,GAAG,SAAS,GAC7B,+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,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,cAAc,EAAE,sBAAsB,EAc3C,CAAC;AAEF,QAAA,MAAM,kBAAkB,EAAE,eAAe,EASxC,CAAC;AAEF,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;CAcnB,CAAC;AAEX,iBAAS,uBAAuB,CAC9B,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,GAAG,CAAC,sBAAsB,CAAC,CAY7B;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,+BAA+B,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAgCnE;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,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,GACd,CAAC"}
@@ -24,9 +24,6 @@ const FIXABLE_RULE_SLUGS = [
24
24
  "structural-blank-lines",
25
25
  "format",
26
26
  ];
27
- const FORMATTER_SLUGS = [
28
- "format",
29
- ];
30
27
  const RULE_SLUG_BY_CONFIG_KEY = {
31
28
  bannedFiles: "banned-files",
32
29
  bannedPatterns: "banned-patterns",
@@ -53,19 +50,11 @@ function resolveEnabledRuleSlugs(rules) {
53
50
  }
54
51
  return enabled;
55
52
  }
56
- function resolveEnabledFormatterSlugs(formatter) {
57
- const enabled = new Set();
58
- if (formatter) {
59
- enabled.add("format");
60
- }
61
- return enabled;
62
- }
63
- function normalizeOnlyRules(mode, onlyRules, rules, formatter) {
53
+ function normalizeOnlyRules(mode, onlyRules, rules) {
64
54
  if (!onlyRules || onlyRules.length === 0)
65
55
  return undefined;
66
- const allowedRules = new Set(mode === "fix" ? FIXABLE_RULE_SLUGS : [...ALL_RULE_SLUGS, ...FORMATTER_SLUGS]);
56
+ const allowedRules = new Set(mode === "fix" ? FIXABLE_RULE_SLUGS : ALL_RULE_SLUGS);
67
57
  const enabledRules = resolveEnabledRuleSlugs(rules);
68
- const enabledFormatters = resolveEnabledFormatterSlugs(formatter);
69
58
  const normalized = [];
70
59
  for (const rule of onlyRules) {
71
60
  if (!allowedRules.has(rule)) {
@@ -73,9 +62,8 @@ function normalizeOnlyRules(mode, onlyRules, rules, formatter) {
73
62
  ? `Selected rule is not fixable: ${rule}`
74
63
  : `Unknown rule selector: ${rule}`, { mode, rule });
75
64
  }
76
- if (!enabledRules.has(rule) && !enabledFormatters.has(rule)) {
77
- const knownFormatter = FORMATTER_SLUGS.includes(rule);
78
- throw new InvalidCodeDisciplineConfigError(`${knownFormatter ? "Selected selector" : "Selected rule"} is not configured: ${rule}`, {
65
+ if (!enabledRules.has(rule)) {
66
+ throw new InvalidCodeDisciplineConfigError(`Selected rule is not configured: ${rule}`, {
79
67
  mode,
80
68
  rule,
81
69
  });
@@ -91,5 +79,5 @@ function normalizeOnlyRules(mode, onlyRules, rules, formatter) {
91
79
  function shouldRunRule(rule, onlyRules) {
92
80
  return !onlyRules || onlyRules.length === 0 || onlyRules.includes(rule);
93
81
  }
94
- export { ALL_RULE_SLUGS, FIXABLE_RULE_SLUGS, FORMATTER_SLUGS, RULE_SLUG_BY_CONFIG_KEY, normalizeOnlyRules, resolveEnabledFormatterSlugs, resolveEnabledRuleSlugs, shouldRunRule, };
82
+ export { ALL_RULE_SLUGS, FIXABLE_RULE_SLUGS, RULE_SLUG_BY_CONFIG_KEY, normalizeOnlyRules, resolveEnabledRuleSlugs, shouldRunRule, };
95
83
  //# sourceMappingURL=rule-slugs.js.map
@@ -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"}
@@ -0,0 +1,242 @@
1
+ import { isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isStyleExtension, } from "../../../shared/languages.js";
2
+ import { maskQmlCommentsAndStrings } from "../comments/qml.js";
3
+ import { stripCommentsAndStrings } from "../max/strip.js";
4
+ import { measurePythonIndent, updatePythonTripleState, } from "../max/python.js";
5
+ import { stripShellStringsAndComments } from "../max/shell.js";
6
+ import { applyBoundaryEdits } from "./rewrite.js";
7
+ function hasOnlyBlankLinesBetween(lines, previousEndLine, nextStartLine) {
8
+ for (let index = previousEndLine; index < nextStartLine - 1; index += 1) {
9
+ if ((lines[index] ?? "").trim().length > 0)
10
+ return false;
11
+ }
12
+ return true;
13
+ }
14
+ function computeBoundaryEdits(lines, units) {
15
+ const byScope = new Map();
16
+ for (const unit of units) {
17
+ const rows = byScope.get(unit.scopeKey) ?? [];
18
+ rows.push(unit);
19
+ byScope.set(unit.scopeKey, rows);
20
+ }
21
+ const edits = [];
22
+ for (const rows of byScope.values()) {
23
+ const sorted = rows.sort((left, right) => left.startLine - right.startLine);
24
+ for (let index = 1; index < sorted.length; index += 1) {
25
+ const previous = sorted[index - 1];
26
+ const next = sorted[index];
27
+ if (!hasOnlyBlankLinesBetween(lines, previous.endLine, next.startLine))
28
+ continue;
29
+ const gap = next.startLine - previous.endLine - 1;
30
+ if (gap === 1)
31
+ continue;
32
+ edits.push({
33
+ atLine: previous.endLine + 1,
34
+ removeCount: Math.max(0, gap - 1),
35
+ insertCount: Math.max(0, 1 - gap),
36
+ });
37
+ }
38
+ }
39
+ return edits;
40
+ }
41
+ function maskRustRawStrings(text) {
42
+ let output = "";
43
+ let index = 0;
44
+ while (index < text.length) {
45
+ if (text[index] !== "r") {
46
+ output += text[index] ?? "";
47
+ index += 1;
48
+ continue;
49
+ }
50
+ let cursor = index + 1;
51
+ while (text[cursor] === "#")
52
+ cursor += 1;
53
+ if (text[cursor] !== "\"") {
54
+ output += text[index] ?? "";
55
+ index += 1;
56
+ continue;
57
+ }
58
+ const hashes = cursor - index - 1;
59
+ const close = `"${"#".repeat(hashes)}`;
60
+ const contentStart = cursor + 1;
61
+ const closeIndex = text.indexOf(close, contentStart);
62
+ if (closeIndex < 0) {
63
+ output += text[index] ?? "";
64
+ index += 1;
65
+ continue;
66
+ }
67
+ const end = closeIndex + close.length;
68
+ output += text.slice(index, end).replace(/[^\r\n]/gu, " ");
69
+ index = end;
70
+ }
71
+ return output;
72
+ }
73
+ function maskBraceLanguage(text, extension) {
74
+ if (isQmlExtension(extension))
75
+ return maskQmlCommentsAndStrings(text);
76
+ if (isRustExtension(extension))
77
+ return stripCommentsAndStrings(maskRustRawStrings(text));
78
+ return stripCommentsAndStrings(text);
79
+ }
80
+ function countMaskedBraceDelta(line) {
81
+ let delta = 0;
82
+ for (const character of line) {
83
+ if (character === "{")
84
+ delta += 1;
85
+ else if (character === "}")
86
+ delta -= 1;
87
+ }
88
+ return delta;
89
+ }
90
+ function isBraceUnitStart(line, extension) {
91
+ const trimmed = line.trimStart();
92
+ if (!trimmed || trimmed.startsWith("//") || trimmed.startsWith("/*") || trimmed.startsWith("*"))
93
+ return false;
94
+ if (isGoExtension(extension)) {
95
+ return /^(?:func|type\s+[A-Za-z_]\w*\s+(?:struct|interface))\b/u.test(trimmed);
96
+ }
97
+ if (isRustExtension(extension)) {
98
+ return /^(?:(?:pub(?:\([^)]*\))?|async|const|unsafe)\s+)*(?:fn|struct|enum|impl|trait)\b/u.test(trimmed);
99
+ }
100
+ if (isQmlExtension(extension)) {
101
+ return /^(?:async\s+)?function\s+[A-Za-z_$][\w$]*\s*\(/u.test(trimmed)
102
+ || /^(?:property\s+\w+\s+)?[A-Za-z_$][\w$]*\s*:\s*function\s*\(/u.test(trimmed)
103
+ || /^on[A-Z][\w$]*\s*:\s*(?:$|\{|function\b|\([^)]*\)\s*=>|[A-Za-z_$][\w$]*\s*=>)/u.test(trimmed);
104
+ }
105
+ if (isStyleExtension(extension)) {
106
+ return trimmed.includes("{") && !trimmed.startsWith("}");
107
+ }
108
+ return false;
109
+ }
110
+ function collectBraceStructuralUnits(text, extension) {
111
+ const lines = text.split(/\r?\n/u);
112
+ const maskedLines = maskBraceLanguage(text, extension).split(/\r?\n/u);
113
+ const units = [];
114
+ let depth = 0;
115
+ let pending = null;
116
+ for (let index = 0; index < lines.length; index += 1) {
117
+ const maskedLine = maskedLines[index] ?? "";
118
+ const line = lines[index] ?? "";
119
+ const depthBefore = depth;
120
+ if (!pending && isBraceUnitStart(line, extension)) {
121
+ pending = {
122
+ braceDepth: 0,
123
+ scopeKey: `brace:${depthBefore}`,
124
+ seenOpeningBrace: false,
125
+ startLine: index + 1,
126
+ };
127
+ }
128
+ if (pending && maskedLine.includes("{"))
129
+ pending.seenOpeningBrace = true;
130
+ const delta = countMaskedBraceDelta(maskedLine);
131
+ if (pending)
132
+ pending.braceDepth += delta;
133
+ depth = Math.max(0, depth + delta);
134
+ if (pending?.seenOpeningBrace && pending.braceDepth <= 0) {
135
+ units.push({
136
+ startLine: pending.startLine,
137
+ endLine: index + 1,
138
+ scopeKey: pending.scopeKey,
139
+ });
140
+ pending = null;
141
+ }
142
+ }
143
+ return units;
144
+ }
145
+ function closeIndentedUnits(args) {
146
+ while (args.stack.length > 0 && args.currentIndent <= args.stack[args.stack.length - 1].indent) {
147
+ const pending = args.stack.pop();
148
+ args.units.push({
149
+ startLine: pending.startLine,
150
+ endLine: Math.max(pending.startLine, args.endLine),
151
+ scopeKey: pending.scopeKey,
152
+ });
153
+ }
154
+ }
155
+ function collectPythonStructuralUnits(text) {
156
+ const units = [];
157
+ const stack = [];
158
+ const lines = text.split(/\r?\n/u);
159
+ const state = { quote: null };
160
+ let lastMeaningfulLine = 0;
161
+ for (let index = 0; index < lines.length; index += 1) {
162
+ const line = lines[index] ?? "";
163
+ const insideTripleString = state.quote !== null;
164
+ const match = insideTripleString
165
+ ? null
166
+ : /^(\s*)(?:async\s+def|def|class)\s+[A-Za-z_]\w*\b/u.exec(line);
167
+ if (!insideTripleString && line.trim().length > 0 && !line.trimStart().startsWith("#")) {
168
+ const indent = measurePythonIndent(line);
169
+ closeIndentedUnits({
170
+ currentIndent: indent,
171
+ endLine: lastMeaningfulLine,
172
+ stack,
173
+ units,
174
+ });
175
+ lastMeaningfulLine = index + 1;
176
+ }
177
+ if (match) {
178
+ const indent = measurePythonIndent(match[1] ?? "");
179
+ stack.push({
180
+ indent,
181
+ scopeKey: `indent:${indent}`,
182
+ startLine: index + 1,
183
+ });
184
+ }
185
+ updatePythonTripleState(line, state);
186
+ }
187
+ closeIndentedUnits({
188
+ currentIndent: -1,
189
+ endLine: lastMeaningfulLine || lines.length,
190
+ stack,
191
+ units,
192
+ });
193
+ return units;
194
+ }
195
+ function collectShellStructuralUnits(text) {
196
+ const units = [];
197
+ const lines = text.split(/\r?\n/u);
198
+ let pending = null;
199
+ for (let index = 0; index < lines.length; index += 1) {
200
+ const maskedLine = stripShellStringsAndComments(lines[index] ?? "");
201
+ if (!pending && /^\s*(?:function\s+)?[A-Za-z_][\w-]*\s*(?:\(\s*\))?\s*\{/u.test(maskedLine)) {
202
+ pending = {
203
+ braceDepth: 0,
204
+ scopeKey: "shell:function",
205
+ seenOpeningBrace: false,
206
+ startLine: index + 1,
207
+ };
208
+ }
209
+ if (pending && maskedLine.includes("{"))
210
+ pending.seenOpeningBrace = true;
211
+ const delta = countMaskedBraceDelta(maskedLine);
212
+ if (pending)
213
+ pending.braceDepth += delta;
214
+ if (pending?.seenOpeningBrace && pending.braceDepth <= 0) {
215
+ units.push({
216
+ startLine: pending.startLine,
217
+ endLine: index + 1,
218
+ scopeKey: pending.scopeKey,
219
+ });
220
+ pending = null;
221
+ }
222
+ }
223
+ return units;
224
+ }
225
+ function collectGenericStructuralUnits(text, extension) {
226
+ if (isPythonExtension(extension))
227
+ return collectPythonStructuralUnits(text);
228
+ if (isShellExtension(extension))
229
+ return collectShellStructuralUnits(text);
230
+ if (isGoExtension(extension) || isRustExtension(extension) || isQmlExtension(extension) || isStyleExtension(extension)) {
231
+ return collectBraceStructuralUnits(text, extension);
232
+ }
233
+ return [];
234
+ }
235
+ function rewriteGenericStructuralBlankLines(text, extension) {
236
+ const lines = text.split(/\r?\n/u);
237
+ const units = collectGenericStructuralUnits(text, extension);
238
+ const edits = computeBoundaryEdits(lines, units);
239
+ return applyBoundaryEdits(text, edits);
240
+ }
241
+ export { collectGenericStructuralUnits, rewriteGenericStructuralBlankLines };
242
+ //# sourceMappingURL=generic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAiC,MAAM,cAAc,CAAC;AAsBjF,SAAS,wBAAwB,CAAC,KAAe,EAAE,eAAuB,EAAE,aAAqB;IAC/F,KAAK,IAAI,KAAK,GAAG,eAAe,EAAE,KAAK,GAAG,aAAa,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAe,EAAE,KAA8B;IAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAE5E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;YAC5B,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBAAE,SAAS;YAEjF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;YAClD,IAAI,GAAG,KAAK,CAAC;gBAAE,SAAS;YAExB,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,QAAQ,CAAC,OAAO,GAAG,CAAC;gBAC5B,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;gBACjC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;YAAE,MAAM,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACrD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QACtC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC3D,KAAK,GAAG,GAAG,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,SAAiB;IACxD,IAAI,cAAc,CAAC,SAAS,CAAC;QAAE,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,eAAe,CAAC,SAAS,CAAC;QAAE,OAAO,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,SAAS,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;aAC7B,IAAI,SAAS,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,SAAiB;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9G,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,yDAAyD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,mFAAmF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,iDAAiD,CAAC,IAAI,CAAC,OAAO,CAAC;eACjE,8DAA8D,CAAC,IAAI,CAAC,OAAO,CAAC;eAC5E,gFAAgF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY,EAAE,SAAiB;IAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvE,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAA4B,IAAI,CAAC;IAE5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC;QAE1B,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG;gBACR,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,SAAS,WAAW,EAAE;gBAChC,gBAAgB,EAAE,KAAK;gBACvB,SAAS,EAAE,KAAK,GAAG,CAAC;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAEzE,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,OAAO;YAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QACzC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;QAEnC,IAAI,OAAO,EAAE,gBAAgB,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,KAAK,GAAG,CAAC;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;YACH,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,IAK3B;IACC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC;QAChG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAG,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;YAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IAChD,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAE3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;QAChD,MAAM,KAAK,GAAG,kBAAkB;YAC9B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACzC,kBAAkB,CAAC;gBACjB,aAAa,EAAE,MAAM;gBACrB,OAAO,EAAE,kBAAkB;gBAC3B,KAAK;gBACL,KAAK;aACN,CAAC,CAAC;YACH,kBAAkB,GAAG,KAAK,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM;gBACN,QAAQ,EAAE,UAAU,MAAM,EAAE;gBAC5B,SAAS,EAAE,KAAK,GAAG,CAAC;aACrB,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,kBAAkB,CAAC;QACjB,aAAa,EAAE,CAAC,CAAC;QACjB,OAAO,EAAE,kBAAkB,IAAI,KAAK,CAAC,MAAM;QAC3C,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,OAAO,GAA4B,IAAI,CAAC;IAE5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,OAAO,IAAI,0DAA0D,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5F,OAAO,GAAG;gBACR,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,gBAAgB;gBAC1B,gBAAgB,EAAE,KAAK;gBACvB,SAAS,EAAE,KAAK,GAAG,CAAC;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACzE,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,OAAO;YAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAEzC,IAAI,OAAO,EAAE,gBAAgB,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,KAAK,GAAG,CAAC;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;YACH,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY,EAAE,SAAiB;IACpE,IAAI,iBAAiB,CAAC,SAAS,CAAC;QAAE,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,gBAAgB,CAAC,SAAS,CAAC;QAAE,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC1E,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvH,OAAO,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kCAAkC,CAAC,IAAY,EAAE,SAAiB;IACzE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,EAAE,6BAA6B,EAAE,kCAAkC,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,oCAAoC,EAAE,MAAM,eAAe,CAAC;AAsBvG,iBAAe,qCAAqC,CAClD,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAiCpC;AAED,iBAAe,2BAA2B,CACxC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,2BAA2B,CAAC,CA4CtC;AAED,OAAO,EAAE,qCAAqC,EAAE,2BAA2B,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,oCAAoC,EAAE,MAAM,eAAe,CAAC;AA+BvG,iBAAe,qCAAqC,CAClD,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAgCpC;AAED,iBAAe,2BAA2B,CACxC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,2BAA2B,CAAC,CA2CtC;AAED,OAAO,EAAE,qCAAqC,EAAE,2BAA2B,EAAE,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { parseSource } from "../../../imports/module-specifiers.js";
4
- import { isTypeScriptFamilyExtension } from "../../../shared/languages.js";
4
+ import { isTypeScriptFamilyExtension, supportsStructuralBlankLines } from "../../../shared/languages.js";
5
5
  import { createRuleProgress, emitRuleChunk, emitRuleCompleted } from "../../progress.js";
6
+ import { rewriteGenericStructuralBlankLines } from "./generic.js";
6
7
  import { rewriteStructuralBlankLines } from "./rewrite.js";
7
8
  function createStructuralBlankLinesViolation(args) {
8
9
  return {
@@ -17,6 +18,13 @@ function createStructuralBlankLinesViolation(args) {
17
18
  },
18
19
  };
19
20
  }
21
+ function rewriteStructuralBlankLinesForFile(file, sourceText) {
22
+ const extension = path.extname(file.absolutePath).toLowerCase();
23
+ if (isTypeScriptFamilyExtension(extension)) {
24
+ return rewriteStructuralBlankLines(parseSource(sourceText, file.absolutePath), sourceText);
25
+ }
26
+ return rewriteGenericStructuralBlankLines(sourceText, extension);
27
+ }
20
28
  async function collectStructuralBlankLinesViolations(sourceFiles, options) {
21
29
  const violations = [];
22
30
  const progress = createRuleProgress({
@@ -26,13 +34,12 @@ async function collectStructuralBlankLinesViolations(sourceFiles, options) {
26
34
  });
27
35
  for (let index = 0; index < sourceFiles.length; index += 1) {
28
36
  const file = sourceFiles[index];
29
- if (!isTypeScriptFamilyExtension(path.extname(file.absolutePath).toLowerCase())) {
37
+ if (!supportsStructuralBlankLines(file.extension)) {
30
38
  emitRuleChunk(progress, index + 1, violations.length);
31
39
  continue;
32
40
  }
33
41
  const sourceText = await fs.readFile(file.absolutePath, "utf8");
34
- const sourceFile = parseSource(sourceText, file.absolutePath);
35
- const result = rewriteStructuralBlankLines(sourceFile, sourceText);
42
+ const result = rewriteStructuralBlankLinesForFile(file, sourceText);
36
43
  if (result.changed) {
37
44
  violations.push(createStructuralBlankLinesViolation({
38
45
  filePath: file.relativeFromProjectRoot,
@@ -58,13 +65,12 @@ async function fixStructuralBlankLinesRule(sourceFiles, options) {
58
65
  let removedBlankLines = 0;
59
66
  for (let index = 0; index < sourceFiles.length; index += 1) {
60
67
  const file = sourceFiles[index];
61
- if (!isTypeScriptFamilyExtension(path.extname(file.absolutePath).toLowerCase())) {
68
+ if (!supportsStructuralBlankLines(file.extension)) {
62
69
  emitRuleChunk(progress, index + 1, 0, { rewrittenFiles });
63
70
  continue;
64
71
  }
65
72
  const sourceText = await fs.readFile(file.absolutePath, "utf8");
66
- const sourceFile = parseSource(sourceText, file.absolutePath);
67
- const result = rewriteStructuralBlankLines(sourceFile, sourceText);
73
+ const result = rewriteStructuralBlankLinesForFile(file, sourceText);
68
74
  if (!result.changed) {
69
75
  emitRuleChunk(progress, index + 1, 0, { rewrittenFiles });
70
76
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@ type ApplyBoundaryEditsResult = {
8
8
  insertedBlankLines: number;
9
9
  removedBlankLines: number;
10
10
  };
11
+ declare function applyBoundaryEdits(text: string, edits: BoundaryEdit[]): ApplyBoundaryEditsResult;
11
12
  declare function rewriteStructuralBlankLines(sourceFile: ts.SourceFile, fullText: string): ApplyBoundaryEditsResult;
12
- export { collectBoundaryEdits, rewriteStructuralBlankLines };
13
+ export { applyBoundaryEdits, collectBoundaryEdits, rewriteStructuralBlankLines };
13
14
  export type { ApplyBoundaryEditsResult };
14
15
  //# sourceMappingURL=rewrite.d.ts.map