@trebired/code-discipline 1.5.0 → 2.0.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 (76) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +164 -266
  3. package/dist/checks/fix-folderization.d.ts.map +1 -1
  4. package/dist/checks/fix-folderization.js +3 -0
  5. package/dist/checks/fix-folderization.js.map +1 -1
  6. package/dist/checks/index.d.ts +4 -2
  7. package/dist/checks/index.d.ts.map +1 -1
  8. package/dist/checks/index.js +102 -37
  9. package/dist/checks/index.js.map +1 -1
  10. package/dist/checks/rule-slugs.d.ts +15 -0
  11. package/dist/checks/rule-slugs.d.ts.map +1 -0
  12. package/dist/checks/rule-slugs.js +62 -0
  13. package/dist/checks/rule-slugs.js.map +1 -0
  14. package/dist/checks/rules/dry.d.ts +7 -0
  15. package/dist/checks/rules/dry.d.ts.map +1 -0
  16. package/dist/checks/rules/dry.js +922 -0
  17. package/dist/checks/rules/dry.js.map +1 -0
  18. package/dist/checks/types.d.ts +48 -17
  19. package/dist/checks/types.d.ts.map +1 -1
  20. package/dist/cli/run-cli.d.ts.map +1 -1
  21. package/dist/cli/run-cli.js +15 -21
  22. package/dist/cli/run-cli.js.map +1 -1
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +2 -3
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config/index.d.ts +1 -1
  27. package/dist/config/index.d.ts.map +1 -1
  28. package/dist/config/index.js +122 -16
  29. package/dist/config/index.js.map +1 -1
  30. package/dist/config/normalize-check-options.d.ts +2 -2
  31. package/dist/config/normalize-check-options.d.ts.map +1 -1
  32. package/dist/config/normalize-check-options.js +6 -2
  33. package/dist/config/normalize-check-options.js.map +1 -1
  34. package/dist/config/normalize-rule-options.d.ts +9 -4
  35. package/dist/config/normalize-rule-options.d.ts.map +1 -1
  36. package/dist/config/normalize-rule-options.js +42 -1
  37. package/dist/config/normalize-rule-options.js.map +1 -1
  38. package/dist/config/normalize-sync-imports-options.d.ts.map +1 -1
  39. package/dist/config/normalize-sync-imports-options.js +2 -0
  40. package/dist/config/normalize-sync-imports-options.js.map +1 -1
  41. package/dist/imports/aliases.d.ts.map +1 -1
  42. package/dist/imports/aliases.js +6 -2
  43. package/dist/imports/aliases.js.map +1 -1
  44. package/dist/imports/check-sync-imports.d.ts.map +1 -1
  45. package/dist/imports/check-sync-imports.js +19 -0
  46. package/dist/imports/check-sync-imports.js.map +1 -1
  47. package/dist/imports/sync-imports.d.ts.map +1 -1
  48. package/dist/imports/sync-imports.js +11 -1
  49. package/dist/imports/sync-imports.js.map +1 -1
  50. package/dist/imports/types.d.ts +10 -1
  51. package/dist/imports/types.d.ts.map +1 -1
  52. package/dist/index.d.ts +3 -3
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/run.d.ts +15 -18
  55. package/dist/run.d.ts.map +1 -1
  56. package/dist/run.js +9 -38
  57. package/dist/run.js.map +1 -1
  58. package/dist/runtime/orchestrate.d.ts +2 -3
  59. package/dist/runtime/orchestrate.d.ts.map +1 -1
  60. package/dist/runtime/orchestrate.js +0 -10
  61. package/dist/runtime/orchestrate.js.map +1 -1
  62. package/dist/runtime/runtime-imports-sync.d.ts +12 -3
  63. package/dist/runtime/runtime-imports-sync.d.ts.map +1 -1
  64. package/dist/runtime/runtime-imports-sync.js +34 -32
  65. package/dist/runtime/runtime-imports-sync.js.map +1 -1
  66. package/dist/runtime/tsconfig-paths.d.ts +1 -1
  67. package/dist/runtime/tsconfig-paths.d.ts.map +1 -1
  68. package/dist/runtime/tsconfig-paths.js +1 -1
  69. package/dist/runtime/tsconfig-paths.js.map +1 -1
  70. package/dist/shared/discipline-types.d.ts +1 -1
  71. package/dist/shared/discipline-types.d.ts.map +1 -1
  72. package/dist/shared/utils.d.ts +2 -1
  73. package/dist/shared/utils.d.ts.map +1 -1
  74. package/dist/shared/utils.js +14 -1
  75. package/dist/shared/utils.js.map +1 -1
  76. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
- import type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, FixCodeDisciplineOptions, FixCodeDisciplineResult, NormalizedCheckCodeDisciplineOptions } from "./types.js";
2
- declare function buildNormalizedSyncOptions(options: NormalizedCheckCodeDisciplineOptions): {
1
+ import type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineSyncImportsRuleOptions, FixCodeDisciplineOptions, FixCodeDisciplineResult, NormalizedCheckCodeDisciplineOptions } from "./types.js";
2
+ declare function buildNormalizedSyncOptions(options: NormalizedCheckCodeDisciplineOptions, rule?: CodeDisciplineSyncImportsRuleOptions | undefined): {
3
+ configPath: string;
3
4
  projectRoot: string;
4
5
  sourceRoot: string;
5
6
  sourceRootRelative: string;
@@ -14,6 +15,7 @@ declare function buildNormalizedSyncOptions(options: NormalizedCheckCodeDiscipli
14
15
  randomLength: number;
15
16
  };
16
17
  allowRelative: string[] | import("../index.js").AllowRelativeFn;
18
+ packageJsonImports: import("../index.js").PackageJsonImportsSyncOptions;
17
19
  logging: import("../index.js").LoggingOptions;
18
20
  };
19
21
  declare function checkCodeDiscipline(options: CheckCodeDisciplineOptions): Promise<CheckCodeDisciplineResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AAEpB,iBAAS,0BAA0B,CAAC,OAAO,EAAE,oCAAoC;;;;;;;;;;;;;;;;EAoBhF;AAoFD,iBAAe,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAQ1G;AAED,iBAAe,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAuBpG;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oCAAoC,EACpC,wBAAwB,EACxB,uBAAuB,EAGvB,oCAAoC,EACrC,MAAM,YAAY,CAAC;AAEpB,iBAAS,0BAA0B,CACjC,OAAO,EAAE,oCAAoC,EAC7C,IAAI,GAAE,oCAAoC,GAAG,SAAqC;;;;;;;;;;;;;;;;;;EAuBnF;AAsHD,iBAAe,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAQ1G;AAED,iBAAe,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAwEpG;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,30 +1,35 @@
1
1
  import { normalizeCheckCodeDisciplineOptions } from "../config/normalize-check-options.js";
2
2
  import { collectSyncImportViolations } from "../imports/check-sync-imports.js";
3
3
  import { scanSourceFiles } from "../imports/scan.js";
4
+ import { syncImports } from "../imports/sync-imports.js";
4
5
  import { resolveLogger } from "../shared/logging.js";
6
+ import { shouldRunRule } from "./rule-slugs.js";
5
7
  import { fixFolderization } from "./fix-folderization.js";
6
8
  import { runFolderizeCompoundFilesRule } from "./rules/folderize-compound-files.js";
9
+ import { collectDryViolations, fixDryRule } from "./rules/dry.js";
7
10
  import { runMaxFileLinesRule } from "./rules/max-file-lines.js";
8
11
  import { runMaxFunctionLinesRule } from "./rules/max-function-lines.js";
9
- function buildNormalizedSyncOptions(options) {
10
- if (!options.rules.syncImports)
12
+ function buildNormalizedSyncOptions(options, rule = options.rules.syncImports) {
13
+ if (!rule)
11
14
  return null;
12
15
  return {
16
+ configPath: options.configPath,
13
17
  projectRoot: options.projectRoot,
14
- sourceRoot: options.sourceRoot,
18
+ sourceRoot: rule.sourceRoot ?? options.sourceRoot,
15
19
  sourceRootRelative: options.sourceRootRelative,
16
- sourceExtensions: options.sourceExtensions,
17
- excludeDirs: options.excludeDirs,
18
- tsconfigPath: options.rules.syncImports.tsconfigPath ?? `${options.projectRoot}/tsconfig.json`,
19
- severity: options.rules.syncImports.severity ?? "error",
20
- fix: options.rules.syncImports.fix ?? false,
20
+ sourceExtensions: rule.sourceExtensions ?? options.sourceExtensions,
21
+ excludeDirs: rule.excludeDirs ?? options.excludeDirs,
22
+ tsconfigPath: rule.tsconfigPath ?? `${options.projectRoot}/tsconfig.json`,
23
+ severity: rule.severity ?? "error",
24
+ fix: rule.fix ?? false,
21
25
  alias: {
22
- prefix: options.rules.syncImports.alias?.prefix ?? "#",
23
- strategy: options.rules.syncImports.alias?.strategy ?? "random",
24
- randomLength: options.rules.syncImports.alias?.randomLength ?? 12,
26
+ prefix: rule.alias?.prefix ?? "#",
27
+ strategy: rule.alias?.strategy ?? "random",
28
+ randomLength: rule.alias?.randomLength ?? 12,
25
29
  },
26
- allowRelative: options.rules.syncImports.allowRelative ?? ["./"],
27
- logging: options.logging,
30
+ allowRelative: rule.allowRelative ?? ["./"],
31
+ packageJsonImports: rule.packageJsonImports,
32
+ logging: rule.logging ?? options.logging,
28
33
  };
29
34
  }
30
35
  function sortViolations(violations) {
@@ -65,7 +70,7 @@ function logSummary(label, result, logger) {
65
70
  });
66
71
  return;
67
72
  }
68
- logger.flush(`success`, `discipline-${label}-ok`, `${label} completed`, {
73
+ logger.flush("success", `discipline-${label}-ok`, `${label} completed`, {
69
74
  discipline: {
70
75
  errors: result.errors,
71
76
  warnings: result.warnings,
@@ -77,28 +82,45 @@ function logSummary(label, result, logger) {
77
82
  }
78
83
  async function collectViolations(options) {
79
84
  const sourceFiles = await scanSourceFiles(options);
80
- const maxFileViolations = options.rules.maxFileLines
81
- ? await runMaxFileLinesRule(sourceFiles, options)
82
- : [];
83
- const maxFunctionViolations = options.rules.maxFunctionLines
84
- ? await runMaxFunctionLinesRule(sourceFiles, options)
85
- : [];
86
- const folderizeViolations = options.rules.folderizeCompoundFiles
87
- ? runFolderizeCompoundFilesRule(sourceFiles, options)
88
- : [];
89
- const normalizedSyncOptions = buildNormalizedSyncOptions(options);
90
- const syncImportViolations = normalizedSyncOptions
91
- ? await collectSyncImportViolations(sourceFiles, normalizedSyncOptions)
92
- : [];
93
- return sortViolations([
94
- ...maxFileViolations,
95
- ...maxFunctionViolations,
96
- ...folderizeViolations,
97
- ...syncImportViolations,
98
- ]);
85
+ const violations = [];
86
+ if (options.rules.maxFileLines && shouldRunRule("max-file-lines", options.onlyRules)) {
87
+ violations.push(...await runMaxFileLinesRule(sourceFiles, options));
88
+ }
89
+ if (options.rules.maxFunctionLines && shouldRunRule("max-function-lines", options.onlyRules)) {
90
+ violations.push(...await runMaxFunctionLinesRule(sourceFiles, options));
91
+ }
92
+ if (options.rules.folderizeCompoundFiles && shouldRunRule("folderize-compound-files", options.onlyRules)) {
93
+ violations.push(...runFolderizeCompoundFilesRule(sourceFiles, options));
94
+ }
95
+ if (options.rules.dry && shouldRunRule("dry", options.onlyRules)) {
96
+ violations.push(...await collectDryViolations(sourceFiles, options));
97
+ }
98
+ if (options.rules.syncImports && shouldRunRule("sync-imports", options.onlyRules)) {
99
+ const normalizedSyncOptions = buildNormalizedSyncOptions(options);
100
+ if (normalizedSyncOptions) {
101
+ violations.push(...await collectSyncImportViolations(sourceFiles, normalizedSyncOptions));
102
+ }
103
+ }
104
+ return sortViolations(violations);
105
+ }
106
+ function mapFixRuleResult(result) {
107
+ return {
108
+ ok: result.ok,
109
+ errors: result.errors,
110
+ warnings: result.warnings,
111
+ violations: result.violations,
112
+ moved_files: result.moved_files,
113
+ rewritten_files: result.rewritten_files,
114
+ rewritten_imports: result.rewritten_imports,
115
+ removed_duplicates: result.removed_duplicates,
116
+ added_imports: result.added_imports,
117
+ };
118
+ }
119
+ function shouldRunFixRule(rule, options) {
120
+ return shouldRunRule(rule, options.onlyRules);
99
121
  }
100
122
  async function checkCodeDiscipline(options) {
101
- const normalized = await normalizeCheckCodeDisciplineOptions(options);
123
+ const normalized = await normalizeCheckCodeDisciplineOptions(options, "check");
102
124
  const logger = resolveLogger(normalized.logging);
103
125
  const violations = await collectViolations(normalized);
104
126
  const result = summarizeViolations(violations);
@@ -106,10 +128,52 @@ async function checkCodeDiscipline(options) {
106
128
  return result;
107
129
  }
108
130
  async function fixCodeDiscipline(options) {
109
- const normalized = await normalizeCheckCodeDisciplineOptions(options);
131
+ const normalized = await normalizeCheckCodeDisciplineOptions(options, "fix");
110
132
  const logger = resolveLogger(normalized.logging);
111
- const sourceFiles = await scanSourceFiles(normalized);
112
- const result = await fixFolderization(sourceFiles, normalized, logger);
133
+ const ruleResults = {};
134
+ const violations = [];
135
+ let movedFiles = 0;
136
+ let rewrittenFiles = 0;
137
+ let rewrittenImports = 0;
138
+ let sourceFiles = await scanSourceFiles(normalized);
139
+ if (normalized.rules.folderizeCompoundFiles && shouldRunFixRule("folderize-compound-files", normalized)) {
140
+ const folderizeResult = await fixFolderization(sourceFiles, normalized, logger);
141
+ ruleResults["folderize-compound-files"] = mapFixRuleResult(folderizeResult);
142
+ violations.push(...folderizeResult.violations);
143
+ movedFiles += folderizeResult.moved_files;
144
+ rewrittenFiles += folderizeResult.rewritten_files;
145
+ rewrittenImports += folderizeResult.rewritten_imports;
146
+ if (folderizeResult.moved_files > 0 || folderizeResult.rewritten_files > 0) {
147
+ sourceFiles = await scanSourceFiles(normalized);
148
+ }
149
+ }
150
+ if (normalized.rules.dry && shouldRunFixRule("dry", normalized)) {
151
+ const dryResult = await fixDryRule(sourceFiles, normalized);
152
+ ruleResults.dry = mapFixRuleResult(dryResult);
153
+ violations.push(...dryResult.violations);
154
+ rewrittenFiles += dryResult.rewritten_files ?? 0;
155
+ if ((dryResult.rewritten_files ?? 0) > 0) {
156
+ sourceFiles = await scanSourceFiles(normalized);
157
+ }
158
+ }
159
+ if (normalized.rules.syncImports && shouldRunFixRule("sync-imports", normalized)) {
160
+ const syncOptions = buildNormalizedSyncOptions(normalized);
161
+ if (syncOptions) {
162
+ const syncResult = await syncImports(syncOptions);
163
+ ruleResults["sync-imports"] = mapFixRuleResult(syncResult);
164
+ violations.push(...syncResult.violations);
165
+ rewrittenFiles += syncResult.rewritten_files;
166
+ rewrittenImports += syncResult.rewritten_imports;
167
+ }
168
+ }
169
+ const summary = summarizeViolations(sortViolations(violations));
170
+ const result = {
171
+ ...summary,
172
+ moved_files: movedFiles,
173
+ rewritten_files: rewrittenFiles,
174
+ rewritten_imports: rewrittenImports,
175
+ ruleResults,
176
+ };
113
177
  if (!result.ok || result.violations.length > 0) {
114
178
  logSummary("fix", result, logger);
115
179
  }
@@ -124,6 +188,7 @@ async function fixCodeDiscipline(options) {
124
188
  movedFiles: result.moved_files,
125
189
  rewrittenFiles: result.rewritten_files,
126
190
  rewrittenImports: result.rewritten_imports,
191
+ ruleResults: result.ruleResults,
127
192
  });
128
193
  }
129
194
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AASxE,SAAS,0BAA0B,CAAC,OAA6C;IAC/E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE5C,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,IAAI,GAAG,OAAO,CAAC,WAAW,gBAAgB;QAC9F,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,OAAO;QACvD,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,KAAK;QAC3C,KAAK,EAAE;YACL,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG;YACtD,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,IAAI,QAAQ;YAC/D,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,IAAI,EAAE;SAClE;QACD,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC;QAChE,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAAqC;IAC3D,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACnI,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAqC;IAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC3F,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC;IAE5C,OAAO;QACL,EAAE,EAAE,MAAM,KAAK,CAAC;QAChB,MAAM;QACN,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,KAAsB,EACtB,MAA2D,EAC3D,MAAwC;IAExC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS,EAAE,GAAG,KAAK,kCAAkC,EAAE;YAC9F,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;YACD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,UAAU,EAAE,GAAG,KAAK,oCAAoC,EAAE;YAChG,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;YACD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,KAAK,KAAK,EAAE,GAAG,KAAK,YAAY,EAAE;QACtE,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAA6C;IAC5E,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY;QAClD,CAAC,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB;QAC1D,CAAC,CAAC,MAAM,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB;QAC9D,CAAC,CAAC,6BAA6B,CAAC,WAAW,EAAE,OAAO,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,qBAAqB;QAChD,CAAC,CAAC,MAAM,2BAA2B,CAAC,WAAW,EAAE,qBAAqB,CAAC;QACvE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,cAAc,CAAC;QACpB,GAAG,iBAAiB;QACpB,GAAG,qBAAqB;QACxB,GAAG,mBAAmB;QACtB,GAAG,oBAAoB;KACxB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAmC;IACpE,MAAM,UAAU,GAAG,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,MAAM,GAA8B,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE1E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAiC;IAChE,MAAM,UAAU,GAAG,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAEvE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE;YAC5D,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;YACD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,cAAc,EAAE,MAAM,CAAC,eAAe;YACtC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAYxE,SAAS,0BAA0B,CACjC,OAA6C,EAC7C,OAAyD,OAAO,CAAC,KAAK,CAAC,WAAW;IAElF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU;QACjD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB;QACnE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW;QACpD,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,CAAC,WAAW,gBAAgB;QACzE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;QAClC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK;QACtB,KAAK,EAAE;YACL,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG;YACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,QAAQ;YAC1C,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,EAAE;SAC7C;QACD,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC;QAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAAqC;IAC3D,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACnI,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAqC;IAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC3F,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC;IAE5C,OAAO;QACL,EAAE,EAAE,MAAM,KAAK,CAAC;QAChB,MAAM;QACN,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,KAAsB,EACtB,MAA2D,EAC3D,MAAwC;IAExC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS,EAAE,GAAG,KAAK,kCAAkC,EAAE;YAC9F,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;YACD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,UAAU,EAAE,GAAG,KAAK,oCAAoC,EAAE;YAChG,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;YACD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,KAAK,KAAK,EAAE,GAAG,KAAK,YAAY,EAAE;QACtE,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAA6C;IAC5E,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,UAAU,GAA8B,EAAE,CAAC;IAEjD,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrF,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,aAAa,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7F,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,aAAa,CAAC,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzG,UAAU,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAClF,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,qBAAqB,EAAE,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,2BAA2B,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CAAC,MAUzB;IACC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAqB,EAAE,OAA6C;IAC5F,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAmC;IACpE,MAAM,UAAU,GAAG,MAAM,mCAAmC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,MAAM,GAA8B,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE1E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAiC;IAChE,MAAM,UAAU,GAAG,MAAM,mCAAmC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,WAAW,GAAkE,EAAE,CAAC;IACtF,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAEpD,IAAI,UAAU,CAAC,KAAK,CAAC,sBAAsB,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,UAAU,CAAC,EAAE,CAAC;QACxG,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAChF,WAAW,CAAC,0BAA0B,CAAC,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC/C,UAAU,IAAI,eAAe,CAAC,WAAW,CAAC;QAC1C,cAAc,IAAI,eAAe,CAAC,eAAe,CAAC;QAClD,gBAAgB,IAAI,eAAe,CAAC,iBAAiB,CAAC;QAEtD,IAAI,eAAe,CAAC,WAAW,GAAG,CAAC,IAAI,eAAe,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC3E,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC5D,WAAW,CAAC,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACzC,cAAc,IAAI,SAAS,CAAC,eAAe,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,SAAS,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,IAAI,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,CAAC;QACjF,MAAM,WAAW,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;YAClD,WAAW,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC3D,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1C,cAAc,IAAI,UAAU,CAAC,eAAe,CAAC;YAC7C,gBAAgB,IAAI,UAAU,CAAC,iBAAiB,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAA4B;QACtC,GAAG,OAAO;QACV,WAAW,EAAE,UAAU;QACvB,eAAe,EAAE,cAAc;QAC/B,iBAAiB,EAAE,gBAAgB;QACnC,WAAW;KACZ,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE;YAC5D,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;YACD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,cAAc,EAAE,MAAM,CAAC,eAAe;YACtC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;YAC1C,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { CodeDisciplineMode, CodeDisciplineRuleSlug, CodeDisciplineRules, FixableRuleSlug } from "./types.js";
2
+ declare const ALL_RULE_SLUGS: CodeDisciplineRuleSlug[];
3
+ declare const FIXABLE_RULE_SLUGS: FixableRuleSlug[];
4
+ declare const RULE_SLUG_BY_CONFIG_KEY: {
5
+ readonly dry: "dry";
6
+ readonly folderizeCompoundFiles: "folderize-compound-files";
7
+ readonly maxFileLines: "max-file-lines";
8
+ readonly maxFunctionLines: "max-function-lines";
9
+ readonly syncImports: "sync-imports";
10
+ };
11
+ declare function resolveEnabledRuleSlugs(rules: CodeDisciplineRules | undefined): Set<CodeDisciplineRuleSlug>;
12
+ declare function normalizeOnlyRules(mode: CodeDisciplineMode, onlyRules: readonly string[] | undefined, rules: CodeDisciplineRules | undefined): CodeDisciplineRuleSlug[] | FixableRuleSlug[] | undefined;
13
+ declare function shouldRunRule(rule: CodeDisciplineRuleSlug, onlyRules: readonly string[] | undefined): boolean;
14
+ export { ALL_RULE_SLUGS, FIXABLE_RULE_SLUGS, RULE_SLUG_BY_CONFIG_KEY, normalizeOnlyRules, resolveEnabledRuleSlugs, shouldRunRule, };
15
+ //# sourceMappingURL=rule-slugs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-slugs.d.ts","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,cAAc,EAAE,sBAAsB,EAM3C,CAAC;AAEF,QAAA,MAAM,kBAAkB,EAAE,eAAe,EAIxC,CAAC;AAEF,QAAA,MAAM,uBAAuB;;;;;;CAMnB,CAAC;AAEX,iBAAS,uBAAuB,CAAC,KAAK,EAAE,mBAAmB,GAAG,SAAS,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAWpG;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,sBAAsB,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAgC1D;AAED,iBAAS,aAAa,CACpB,IAAI,EAAE,sBAAsB,EAC5B,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"}
@@ -0,0 +1,62 @@
1
+ import { InvalidCodeDisciplineConfigError } from "../shared/errors.js";
2
+ const ALL_RULE_SLUGS = [
3
+ "max-file-lines",
4
+ "max-function-lines",
5
+ "folderize-compound-files",
6
+ "sync-imports",
7
+ "dry",
8
+ ];
9
+ const FIXABLE_RULE_SLUGS = [
10
+ "folderize-compound-files",
11
+ "sync-imports",
12
+ "dry",
13
+ ];
14
+ const RULE_SLUG_BY_CONFIG_KEY = {
15
+ dry: "dry",
16
+ folderizeCompoundFiles: "folderize-compound-files",
17
+ maxFileLines: "max-file-lines",
18
+ maxFunctionLines: "max-function-lines",
19
+ syncImports: "sync-imports",
20
+ };
21
+ function resolveEnabledRuleSlugs(rules) {
22
+ const enabled = new Set();
23
+ if (!rules)
24
+ return enabled;
25
+ for (const [key, slug] of Object.entries(RULE_SLUG_BY_CONFIG_KEY)) {
26
+ if (rules[key]) {
27
+ enabled.add(slug);
28
+ }
29
+ }
30
+ return enabled;
31
+ }
32
+ function normalizeOnlyRules(mode, onlyRules, rules) {
33
+ if (!onlyRules || onlyRules.length === 0)
34
+ return undefined;
35
+ const allowedRules = new Set(mode === "fix" ? FIXABLE_RULE_SLUGS : ALL_RULE_SLUGS);
36
+ const enabledRules = resolveEnabledRuleSlugs(rules);
37
+ const normalized = [];
38
+ for (const rule of onlyRules) {
39
+ if (!allowedRules.has(rule)) {
40
+ throw new InvalidCodeDisciplineConfigError(mode === "fix"
41
+ ? `Selected rule is not fixable: ${rule}`
42
+ : `Unknown rule selector: ${rule}`, { mode, rule });
43
+ }
44
+ if (!enabledRules.has(rule)) {
45
+ throw new InvalidCodeDisciplineConfigError(`Selected rule is not configured: ${rule}`, {
46
+ mode,
47
+ rule,
48
+ });
49
+ }
50
+ if (!normalized.includes(rule)) {
51
+ normalized.push(rule);
52
+ }
53
+ }
54
+ return mode === "fix"
55
+ ? normalized
56
+ : normalized;
57
+ }
58
+ function shouldRunRule(rule, onlyRules) {
59
+ return !onlyRules || onlyRules.length === 0 || onlyRules.includes(rule);
60
+ }
61
+ export { ALL_RULE_SLUGS, FIXABLE_RULE_SLUGS, RULE_SLUG_BY_CONFIG_KEY, normalizeOnlyRules, resolveEnabledRuleSlugs, shouldRunRule, };
62
+ //# sourceMappingURL=rule-slugs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-slugs.js","sourceRoot":"","sources":["../../src/checks/rule-slugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAQvE,MAAM,cAAc,GAA6B;IAC/C,gBAAgB;IAChB,oBAAoB;IACpB,0BAA0B;IAC1B,cAAc;IACd,KAAK;CACN,CAAC;AAEF,MAAM,kBAAkB,GAAsB;IAC5C,0BAA0B;IAC1B,cAAc;IACd,KAAK;CACN,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,GAAG,EAAE,KAAK;IACV,sBAAsB,EAAE,0BAA0B;IAClD,YAAY,EAAE,gBAAgB;IAC9B,gBAAgB,EAAE,oBAAoB;IACtC,WAAW,EAAE,cAAc;CACnB,CAAC;AAEX,SAAS,uBAAuB,CAAC,KAAsC;IACrE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAA0E,EAAE,CAAC;QAC3I,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAwB,EACxB,SAAwC,EACxC,KAAsC;IAEtC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,UAAU,GAA6B,EAAE,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,gCAAgC,CACxC,IAAI,KAAK,KAAK;gBACZ,CAAC,CAAC,iCAAiC,IAAI,EAAE;gBACzC,CAAC,CAAC,0BAA0B,IAAI,EAAE,EACpC,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAA8B,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,gCAAgC,CAAC,oCAAoC,IAAI,EAAE,EAAE;gBACrF,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAA8B,CAAC,EAAE,CAAC;YACzD,UAAU,CAAC,IAAI,CAAC,IAA8B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,KAAK,KAAK;QACnB,CAAC,CAAC,UAA+B;QACjC,CAAC,CAAC,UAAU,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CACpB,IAA4B,EAC5B,SAAwC;IAExC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,GACd,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { FixCodeDisciplineRuleResult, NormalizedCheckCodeDisciplineOptions } from "../types.js";
2
+ import type { ScannedSourceFile } from "../../imports/types.js";
3
+ import type { CodeDisciplineViolation } from "../../shared/discipline-types.js";
4
+ declare function fixDryRule(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions): Promise<FixCodeDisciplineRuleResult>;
5
+ declare function collectDryViolations(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions): Promise<CodeDisciplineViolation[]>;
6
+ export { collectDryViolations, fixDryRule };
7
+ //# sourceMappingURL=dry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dry.d.ts","sourceRoot":"","sources":["../../../src/checks/rules/dry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,2BAA2B,EAC3B,oCAAoC,EAErC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AA09BhF,iBAAe,UAAU,CACvB,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,2BAA2B,CAAC,CAwKtC;AAED,iBAAe,oBAAoB,CACjC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAOpC;AAED,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}