@trebired/code-discipline 1.4.1 → 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 (82) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +209 -170
  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 +103 -33
  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/rules/max-function-lines.d.ts +6 -0
  19. package/dist/checks/rules/max-function-lines.d.ts.map +1 -0
  20. package/dist/checks/rules/max-function-lines.js +103 -0
  21. package/dist/checks/rules/max-function-lines.js.map +1 -0
  22. package/dist/checks/types.d.ts +79 -6
  23. package/dist/checks/types.d.ts.map +1 -1
  24. package/dist/cli/run-cli.d.ts.map +1 -1
  25. package/dist/cli/run-cli.js +22 -30
  26. package/dist/cli/run-cli.js.map +1 -1
  27. package/dist/cli.d.ts.map +1 -1
  28. package/dist/cli.js +2 -3
  29. package/dist/cli.js.map +1 -1
  30. package/dist/config/index.d.ts +4 -1
  31. package/dist/config/index.d.ts.map +1 -1
  32. package/dist/config/index.js +144 -10
  33. package/dist/config/index.js.map +1 -1
  34. package/dist/config/normalize-check-options.d.ts +2 -2
  35. package/dist/config/normalize-check-options.d.ts.map +1 -1
  36. package/dist/config/normalize-check-options.js +7 -2
  37. package/dist/config/normalize-check-options.js.map +1 -1
  38. package/dist/config/normalize-rule-options.d.ts +13 -4
  39. package/dist/config/normalize-rule-options.d.ts.map +1 -1
  40. package/dist/config/normalize-rule-options.js +57 -1
  41. package/dist/config/normalize-rule-options.js.map +1 -1
  42. package/dist/config/normalize-sync-imports-options.d.ts.map +1 -1
  43. package/dist/config/normalize-sync-imports-options.js +2 -0
  44. package/dist/config/normalize-sync-imports-options.js.map +1 -1
  45. package/dist/imports/aliases.d.ts.map +1 -1
  46. package/dist/imports/aliases.js +6 -2
  47. package/dist/imports/aliases.js.map +1 -1
  48. package/dist/imports/check-sync-imports.d.ts.map +1 -1
  49. package/dist/imports/check-sync-imports.js +19 -0
  50. package/dist/imports/check-sync-imports.js.map +1 -1
  51. package/dist/imports/sync-imports.d.ts.map +1 -1
  52. package/dist/imports/sync-imports.js +11 -1
  53. package/dist/imports/sync-imports.js.map +1 -1
  54. package/dist/imports/types.d.ts +10 -1
  55. package/dist/imports/types.d.ts.map +1 -1
  56. package/dist/index.d.ts +6 -4
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +3 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/run.d.ts +16 -19
  61. package/dist/run.d.ts.map +1 -1
  62. package/dist/run.js +28 -37
  63. package/dist/run.js.map +1 -1
  64. package/dist/runtime/orchestrate.d.ts +19 -0
  65. package/dist/runtime/orchestrate.d.ts.map +1 -0
  66. package/dist/runtime/orchestrate.js +50 -0
  67. package/dist/runtime/orchestrate.js.map +1 -0
  68. package/dist/runtime/runtime-imports-sync.d.ts +22 -0
  69. package/dist/runtime/runtime-imports-sync.d.ts.map +1 -0
  70. package/dist/runtime/runtime-imports-sync.js +89 -0
  71. package/dist/runtime/runtime-imports-sync.js.map +1 -0
  72. package/dist/runtime/tsconfig-paths.d.ts +21 -0
  73. package/dist/runtime/tsconfig-paths.d.ts.map +1 -0
  74. package/dist/runtime/tsconfig-paths.js +89 -0
  75. package/dist/runtime/tsconfig-paths.js.map +1 -0
  76. package/dist/shared/discipline-types.d.ts +1 -1
  77. package/dist/shared/discipline-types.d.ts.map +1 -1
  78. package/dist/shared/utils.d.ts +2 -1
  79. package/dist/shared/utils.d.ts.map +1 -1
  80. package/dist/shared/utils.js +14 -1
  81. package/dist/shared/utils.js.map +1 -1
  82. package/package.json +10 -2
@@ -1,29 +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
- function buildNormalizedSyncOptions(options) {
9
- if (!options.rules.syncImports)
11
+ import { runMaxFunctionLinesRule } from "./rules/max-function-lines.js";
12
+ function buildNormalizedSyncOptions(options, rule = options.rules.syncImports) {
13
+ if (!rule)
10
14
  return null;
11
15
  return {
16
+ configPath: options.configPath,
12
17
  projectRoot: options.projectRoot,
13
- sourceRoot: options.sourceRoot,
18
+ sourceRoot: rule.sourceRoot ?? options.sourceRoot,
14
19
  sourceRootRelative: options.sourceRootRelative,
15
- sourceExtensions: options.sourceExtensions,
16
- excludeDirs: options.excludeDirs,
17
- tsconfigPath: options.rules.syncImports.tsconfigPath ?? `${options.projectRoot}/tsconfig.json`,
18
- severity: options.rules.syncImports.severity ?? "error",
19
- 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,
20
25
  alias: {
21
- prefix: options.rules.syncImports.alias?.prefix ?? "#",
22
- strategy: options.rules.syncImports.alias?.strategy ?? "random",
23
- randomLength: options.rules.syncImports.alias?.randomLength ?? 12,
26
+ prefix: rule.alias?.prefix ?? "#",
27
+ strategy: rule.alias?.strategy ?? "random",
28
+ randomLength: rule.alias?.randomLength ?? 12,
24
29
  },
25
- allowRelative: options.rules.syncImports.allowRelative ?? ["./"],
26
- logging: options.logging,
30
+ allowRelative: rule.allowRelative ?? ["./"],
31
+ packageJsonImports: rule.packageJsonImports,
32
+ logging: rule.logging ?? options.logging,
27
33
  };
28
34
  }
29
35
  function sortViolations(violations) {
@@ -64,7 +70,7 @@ function logSummary(label, result, logger) {
64
70
  });
65
71
  return;
66
72
  }
67
- logger.flush(`success`, `discipline-${label}-ok`, `${label} completed`, {
73
+ logger.flush("success", `discipline-${label}-ok`, `${label} completed`, {
68
74
  discipline: {
69
75
  errors: result.errors,
70
76
  warnings: result.warnings,
@@ -76,24 +82,45 @@ function logSummary(label, result, logger) {
76
82
  }
77
83
  async function collectViolations(options) {
78
84
  const sourceFiles = await scanSourceFiles(options);
79
- const maxFileViolations = options.rules.maxFileLines
80
- ? await runMaxFileLinesRule(sourceFiles, options)
81
- : [];
82
- const folderizeViolations = options.rules.folderizeCompoundFiles
83
- ? runFolderizeCompoundFilesRule(sourceFiles, options)
84
- : [];
85
- const normalizedSyncOptions = buildNormalizedSyncOptions(options);
86
- const syncImportViolations = normalizedSyncOptions
87
- ? await collectSyncImportViolations(sourceFiles, normalizedSyncOptions)
88
- : [];
89
- return sortViolations([
90
- ...maxFileViolations,
91
- ...folderizeViolations,
92
- ...syncImportViolations,
93
- ]);
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);
94
121
  }
95
122
  async function checkCodeDiscipline(options) {
96
- const normalized = await normalizeCheckCodeDisciplineOptions(options);
123
+ const normalized = await normalizeCheckCodeDisciplineOptions(options, "check");
97
124
  const logger = resolveLogger(normalized.logging);
98
125
  const violations = await collectViolations(normalized);
99
126
  const result = summarizeViolations(violations);
@@ -101,10 +128,52 @@ async function checkCodeDiscipline(options) {
101
128
  return result;
102
129
  }
103
130
  async function fixCodeDiscipline(options) {
104
- const normalized = await normalizeCheckCodeDisciplineOptions(options);
131
+ const normalized = await normalizeCheckCodeDisciplineOptions(options, "fix");
105
132
  const logger = resolveLogger(normalized.logging);
106
- const sourceFiles = await scanSourceFiles(normalized);
107
- 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
+ };
108
177
  if (!result.ok || result.violations.length > 0) {
109
178
  logSummary("fix", result, logger);
110
179
  }
@@ -119,6 +188,7 @@ async function fixCodeDiscipline(options) {
119
188
  movedFiles: result.moved_files,
120
189
  rewrittenFiles: result.rewritten_files,
121
190
  rewrittenImports: result.rewritten_imports,
191
+ ruleResults: result.ruleResults,
122
192
  });
123
193
  }
124
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;AAShE,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,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,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":"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"}
@@ -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"}