@trebired/code-discipline 5.3.0 → 5.4.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 (68) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +15 -12
  3. package/dist/checks/parse-failures.d.ts +8 -0
  4. package/dist/checks/parse-failures.d.ts.map +1 -0
  5. package/dist/checks/parse-failures.js +39 -0
  6. package/dist/checks/parse-failures.js.map +1 -0
  7. package/dist/checks/rules/banned/patterns.d.ts.map +1 -1
  8. package/dist/checks/rules/banned/patterns.js +18 -6
  9. package/dist/checks/rules/banned/patterns.js.map +1 -1
  10. package/dist/checks/rules/blank-lines/generic.d.ts.map +1 -1
  11. package/dist/checks/rules/blank-lines/generic.js +24 -2
  12. package/dist/checks/rules/blank-lines/generic.js.map +1 -1
  13. package/dist/checks/rules/blank-lines/index.d.ts.map +1 -1
  14. package/dist/checks/rules/blank-lines/index.js +3 -2
  15. package/dist/checks/rules/blank-lines/index.js.map +1 -1
  16. package/dist/checks/rules/comments/ranges.d.ts.map +1 -1
  17. package/dist/checks/rules/comments/ranges.js +115 -1
  18. package/dist/checks/rules/comments/ranges.js.map +1 -1
  19. package/dist/checks/rules/comments/stripping.d.ts +1 -2
  20. package/dist/checks/rules/comments/stripping.d.ts.map +1 -1
  21. package/dist/checks/rules/comments/stripping.js +7 -93
  22. package/dist/checks/rules/comments/stripping.js.map +1 -1
  23. package/dist/checks/rules/dry/candidates.d.ts.map +1 -1
  24. package/dist/checks/rules/dry/candidates.js +10 -4
  25. package/dist/checks/rules/dry/candidates.js.map +1 -1
  26. package/dist/checks/rules/dry/generic.d.ts.map +1 -1
  27. package/dist/checks/rules/dry/generic.js +43 -0
  28. package/dist/checks/rules/dry/generic.js.map +1 -1
  29. package/dist/checks/rules/dry/model.d.ts.map +1 -1
  30. package/dist/checks/rules/dry/model.js +5 -1
  31. package/dist/checks/rules/dry/model.js.map +1 -1
  32. package/dist/checks/rules/max/file-lines.d.ts.map +1 -1
  33. package/dist/checks/rules/max/file-lines.js +7 -50
  34. package/dist/checks/rules/max/file-lines.js.map +1 -1
  35. package/dist/checks/rules/max/function-lines.d.ts.map +1 -1
  36. package/dist/checks/rules/max/function-lines.js +36 -7
  37. package/dist/checks/rules/max/function-lines.js.map +1 -1
  38. package/dist/checks/rules/min/declaration-name.d.ts.map +1 -1
  39. package/dist/checks/rules/min/declaration-name.js +70 -2
  40. package/dist/checks/rules/min/declaration-name.js.map +1 -1
  41. package/dist/checks/rules/redundant-path-segments/index.d.ts.map +1 -1
  42. package/dist/checks/rules/redundant-path-segments/index.js +7 -25
  43. package/dist/checks/rules/redundant-path-segments/index.js.map +1 -1
  44. package/dist/checks/rules/remove-comments.d.ts.map +1 -1
  45. package/dist/checks/rules/remove-comments.js +15 -78
  46. package/dist/checks/rules/remove-comments.js.map +1 -1
  47. package/dist/imports/check.d.ts.map +1 -1
  48. package/dist/imports/check.js +6 -3
  49. package/dist/imports/check.js.map +1 -1
  50. package/dist/imports/scan.d.ts.map +1 -1
  51. package/dist/imports/scan.js +19 -110
  52. package/dist/imports/scan.js.map +1 -1
  53. package/dist/native/native.d.ts +2 -1
  54. package/dist/native/native.d.ts.map +1 -1
  55. package/dist/native/native.js +13 -8
  56. package/dist/native/native.js.map +1 -1
  57. package/dist/shared/constants.d.ts.map +1 -1
  58. package/dist/shared/constants.js +1 -1
  59. package/dist/shared/constants.js.map +1 -1
  60. package/dist/shared/languages.d.ts +3 -1
  61. package/dist/shared/languages.d.ts.map +1 -1
  62. package/dist/shared/languages.js +26 -3
  63. package/dist/shared/languages.js.map +1 -1
  64. package/native/darwin-arm64.node +0 -0
  65. package/native/darwin-x64.node +0 -0
  66. package/native/linux-arm64-gnu.node +0 -0
  67. package/native/linux-x64-gnu.node +0 -0
  68. package/package.json +1 -1
@@ -1,21 +1,9 @@
1
- import fs from "node:fs/promises";
2
- import os from "node:os";
3
1
  import path from "node:path";
4
2
  import { performance } from "node:perf_hooks";
5
- import { loadNativeBinding } from "../native/native.js";
3
+ import { requireNativeBinding } from "../native/native.js";
6
4
  import { matchesGlob } from "../shared/globs.js";
7
5
  import { CODE_DISCIPLINE_STATE_DIR } from "../shared/constants.js";
8
- import { isCodeDisciplineStatePath, normalizeRelativePath, toPosixPath, uniqueStrings } from "../shared/utils.js";
9
- function resolveScanConcurrency() {
10
- const override = Number.parseInt(process.env.TB_CODE_DISCIPLINE_SCAN_CONCURRENCY ?? "", 10);
11
- if (Number.isFinite(override) && override > 0) {
12
- return Math.max(1, override);
13
- }
14
- const parallelism = typeof os.availableParallelism === "function"
15
- ? os.availableParallelism()
16
- : os.cpus().length;
17
- return Math.min(64, Math.max(8, parallelism * 4));
18
- }
6
+ import { isCodeDisciplineStatePath, normalizeRelativePath, uniqueStrings } from "../shared/utils.js";
19
7
  function createExcludeMatcher(excludeDirs, type) {
20
8
  const packageOwnedEntries = type === "folder" ? [CODE_DISCIPLINE_STATE_DIR] : [];
21
9
  const normalizedEntries = uniqueStrings([
@@ -73,82 +61,6 @@ function emitScanCompleted(options, backend, metrics) {
73
61
  ...metrics,
74
62
  });
75
63
  }
76
- async function scanDirectory(task, options, extensionSet, excludeMatcher) {
77
- const entries = await fs.readdir(task.absolutePath, { withFileTypes: true });
78
- entries.sort((left, right) => left.name.localeCompare(right.name));
79
- const directories = [];
80
- const files = [];
81
- for (const entry of entries) {
82
- const absolutePath = path.join(task.absolutePath, entry.name);
83
- if (entry.isDirectory()) {
84
- const relativePath = normalizeRelativePath(path.join(task.relativeDir, entry.name));
85
- const projectRelativePath = normalizeRelativePath(path.relative(options.projectRoot, absolutePath));
86
- if (excludeMatcher.shouldExcludeDirectory(relativePath, projectRelativePath, entry.name))
87
- continue;
88
- directories.push({ absolutePath, relativeDir: relativePath });
89
- continue;
90
- }
91
- if (!entry.isFile())
92
- continue;
93
- const extension = path.extname(entry.name).toLowerCase();
94
- if (!extensionSet.has(extension))
95
- continue;
96
- const relativePath = normalizeRelativePath(path.join(task.relativeDir, entry.name));
97
- files.push({
98
- absolutePath,
99
- relativeFromProjectRoot: toPosixPath(path.relative(options.projectRoot, absolutePath)),
100
- relativeFromSourceRoot: toPosixPath(relativePath),
101
- extension,
102
- });
103
- }
104
- return { directories, files };
105
- }
106
- async function scanSourceFilesWithFallback(options) {
107
- const startedAt = performance.now();
108
- const concurrency = resolveScanConcurrency();
109
- const extensionSet = new Set(options.sourceExtensions.map((extension) => extension.toLowerCase()));
110
- const excludeMatcher = createExcludeMatcher(options.excludeDirs, "folder");
111
- const rows = [];
112
- const queue = [{ absolutePath: options.sourceRoot, relativeDir: "" }];
113
- let completedDirectories = 0;
114
- let discoveredFiles = 0;
115
- let chunkIndex = 0;
116
- while (queue.length > 0) {
117
- const batch = queue.splice(0, concurrency);
118
- const results = await Promise.all(batch.map((task) => scanDirectory(task, options, extensionSet, excludeMatcher)));
119
- chunkIndex += 1;
120
- let chunkMatchedFiles = 0;
121
- for (const result of results) {
122
- rows.push(...result.files);
123
- queue.push(...result.directories);
124
- completedDirectories += 1;
125
- discoveredFiles += result.files.length;
126
- chunkMatchedFiles += result.files.length;
127
- }
128
- options.scanObserver?.({
129
- phase: "chunk",
130
- backend: "ts",
131
- chunkIndex,
132
- chunkSize: batch.length,
133
- chunkMatchedFiles,
134
- queuedDirectories: queue.length,
135
- completedDirectories,
136
- discoveredFiles,
137
- elapsedMs: performance.now() - startedAt,
138
- concurrency,
139
- });
140
- }
141
- const sortedRows = filterExcludedFiles(rows, options)
142
- .sort((left, right) => left.relativeFromProjectRoot.localeCompare(right.relativeFromProjectRoot));
143
- emitScanCompleted(options, "ts", {
144
- chunkCount: chunkIndex,
145
- directoryCount: completedDirectories,
146
- fileCount: sortedRows.length,
147
- elapsedMs: performance.now() - startedAt,
148
- concurrency,
149
- });
150
- return sortedRows;
151
- }
152
64
  function parseNativeScanResult(result) {
153
65
  if (Array.isArray(result)) {
154
66
  return { rows: result };
@@ -159,26 +71,23 @@ function parseNativeScanResult(result) {
159
71
  };
160
72
  }
161
73
  async function scanSourceFiles(options) {
162
- const native = loadNativeBinding();
163
- if (native) {
164
- const startedAt = performance.now();
165
- const parsed = parseNativeScanResult(JSON.parse(native.scanSourceFiles(JSON.stringify({
166
- projectRoot: options.projectRoot,
167
- sourceRoot: options.sourceRoot,
168
- sourceExtensions: options.sourceExtensions,
169
- excludeDirs: options.excludeDirs.filter((entry) => entry.type === "folder").map((entry) => entry.pattern),
170
- }))));
171
- const rows = filterExcludedFiles(parsed.rows.filter((file) => !createExcludeMatcher(options.excludeDirs, "folder").shouldExcludeDirectory(path.dirname(file.relativeFromSourceRoot), path.dirname(file.relativeFromProjectRoot), path.basename(path.dirname(file.relativeFromProjectRoot)))), options);
172
- emitScanCompleted(options, "native", parsed.metrics ?? {
173
- chunkCount: 1,
174
- directoryCount: 0,
175
- fileCount: rows.length,
176
- elapsedMs: performance.now() - startedAt,
177
- concurrency: 1,
178
- });
179
- return rows;
180
- }
181
- return scanSourceFilesWithFallback(options);
74
+ const native = requireNativeBinding();
75
+ const startedAt = performance.now();
76
+ const parsed = parseNativeScanResult(JSON.parse(native.scanSourceFiles(JSON.stringify({
77
+ projectRoot: options.projectRoot,
78
+ sourceRoot: options.sourceRoot,
79
+ sourceExtensions: options.sourceExtensions,
80
+ excludeDirs: options.excludeDirs.filter((entry) => entry.type === "folder").map((entry) => entry.pattern),
81
+ }))));
82
+ const rows = filterExcludedFiles(parsed.rows.filter((file) => !createExcludeMatcher(options.excludeDirs, "folder").shouldExcludeDirectory(path.dirname(file.relativeFromSourceRoot), path.dirname(file.relativeFromProjectRoot), path.basename(path.dirname(file.relativeFromProjectRoot)))), options);
83
+ emitScanCompleted(options, "native", parsed.metrics ?? {
84
+ chunkCount: 1,
85
+ directoryCount: 0,
86
+ fileCount: rows.length,
87
+ elapsedMs: performance.now() - startedAt,
88
+ concurrency: 1,
89
+ });
90
+ return rows;
182
91
  }
183
92
  export { scanSourceFiles };
184
93
  //# sourceMappingURL=scan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/imports/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/imports/scan.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,9 @@ type NativeBinding = {
12
12
  declare function nativeBinaryBasenameForCurrentPlatform(): string | null;
13
13
  declare function nativeAddonCandidatePathsForCurrentPlatform(): string[];
14
14
  declare function loadNativeBinding(): NativeBinding | null;
15
+ declare function requireNativeBinding(): NativeBinding;
15
16
  declare function resetNativeBindingForTests(): void;
16
17
  declare function activeNativeBackendNotice(): string;
17
- export { activeNativeBackendNotice, loadNativeBinding, nativeAddonCandidatePathsForCurrentPlatform, nativeBinaryBasenameForCurrentPlatform, resetNativeBindingForTests, };
18
+ export { activeNativeBackendNotice, loadNativeBinding, requireNativeBinding, nativeAddonCandidatePathsForCurrentPlatform, nativeBinaryBasenameForCurrentPlatform, resetNativeBindingForTests, };
18
19
  export type { NativeBinding };
19
20
  //# sourceMappingURL=native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/native/native.ts"],"names":[],"mappings":"AAMA,KAAK,aAAa,GAAG;IACnB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7D,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/C,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACnD,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C,CAAC;AAYF,iBAAS,sCAAsC,IAAI,MAAM,GAAG,IAAI,CAe/D;AAED,iBAAS,2CAA2C,IAAI,MAAM,EAAE,CAgB/D;AAED,iBAAS,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAmBjD;AAED,iBAAS,0BAA0B,IAAI,IAAI,CAE1C;AAED,iBAAS,yBAAyB,IAAI,MAAM,CAI3C;AAED,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,2CAA2C,EAC3C,sCAAsC,EACtC,0BAA0B,GAC3B,CAAC;AACF,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/native/native.ts"],"names":[],"mappings":"AAMA,KAAK,aAAa,GAAG;IACnB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7D,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/C,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACnD,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C,CAAC;AAYF,iBAAS,sCAAsC,IAAI,MAAM,GAAG,IAAI,CAe/D;AAED,iBAAS,2CAA2C,IAAI,MAAM,EAAE,CAgB/D;AAED,iBAAS,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAejD;AAED,iBAAS,oBAAoB,IAAI,aAAa,CAa7C;AAED,iBAAS,0BAA0B,IAAI,IAAI,CAE1C;AAED,iBAAS,yBAAyB,IAAI,MAAM,CAE3C;AAED,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,2CAA2C,EAC3C,sCAAsC,EACtC,0BAA0B,GAC3B,CAAC;AACF,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -50,10 +50,6 @@ function nativeAddonCandidatePathsForCurrentPlatform() {
50
50
  function loadNativeBinding() {
51
51
  if (cachedBinding !== undefined)
52
52
  return cachedBinding;
53
- if (process.env.TB_CODE_DISCIPLINE_DISABLE_NATIVE === "1") {
54
- cachedBinding = null;
55
- return cachedBinding;
56
- }
57
53
  const require = createRequire(import.meta.url);
58
54
  for (const candidate of nativeAddonCandidatePathsForCurrentPlatform()) {
59
55
  if (!fs.existsSync(candidate))
@@ -67,13 +63,22 @@ function loadNativeBinding() {
67
63
  cachedBinding = null;
68
64
  return cachedBinding;
69
65
  }
66
+ function requireNativeBinding() {
67
+ const binding = loadNativeBinding();
68
+ if (binding)
69
+ return binding;
70
+ const expected = nativeBinaryBasenameForCurrentPlatform();
71
+ const reason = expected
72
+ ? `no loadable addon was found for ${process.platform}-${process.arch} (expected ${expected})`
73
+ : `${process.platform}-${process.arch} is not a supported platform`;
74
+ throw new Error(`${CODE_DISCIPLINE_PACKAGE_NAME} requires its native backend, but ${reason}. `
75
+ + "Build it with `bun run build:native` or install a release that ships a prebuilt addon.");
76
+ }
70
77
  function resetNativeBindingForTests() {
71
78
  cachedBinding = undefined;
72
79
  }
73
80
  function activeNativeBackendNotice() {
74
- return loadNativeBinding()
75
- ? `${CODE_DISCIPLINE_PACKAGE_NAME} using native backend`
76
- : `${CODE_DISCIPLINE_PACKAGE_NAME} using TS fallback backend`;
81
+ return `${CODE_DISCIPLINE_PACKAGE_NAME} using native backend`;
77
82
  }
78
- export { activeNativeBackendNotice, loadNativeBinding, nativeAddonCandidatePathsForCurrentPlatform, nativeBinaryBasenameForCurrentPlatform, resetNativeBindingForTests, };
83
+ export { activeNativeBackendNotice, loadNativeBinding, requireNativeBinding, nativeAddonCandidatePathsForCurrentPlatform, nativeBinaryBasenameForCurrentPlatform, resetNativeBindingForTests, };
79
84
  //# sourceMappingURL=native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/native/native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/native/native.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB,MAAM,CAAC;AAChC,QAAA,MAAM,yBAAyB,8BAA8B,CAAC;AAC9D,QAAA,MAAM,yBAAyB,UAAuI,CAAC;AACvK,QAAA,MAAM,oBAAoB,UAAuE,CAAC;AAClG,QAAA,MAAM,oBAAoB,MAAM,CAAC;AACjC,QAAA,MAAM,sBAAsB,WAAW,CAAC;AACxC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AACvC,QAAA,MAAM,gBAAgB,QAAQ,CAAC;AAC/B,QAAA,MAAM,sBAAsB,UAAS,CAAC;AACtC,QAAA,MAAM,2BAA2B,QAAQ,CAAC;AAC1C,QAAA,MAAM,0CAA0C,UAAa,CAAC;AAC9D,QAAA,MAAM,yBAAyB,QAAyB,CAAC;AACzD,QAAA,MAAM,4BAA4B,QAAe,CAAC;AAClD,QAAA,MAAM,qBAAqB,yCAAyC,CAAC;AACrE,QAAA,MAAM,iBAAiB,KAAK,CAAC;AAE7B,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB,MAAM,CAAC;AAChC,QAAA,MAAM,yBAAyB,8BAA8B,CAAC;AAC9D,QAAA,MAAM,yBAAyB,UAAkN,CAAC;AAClP,QAAA,MAAM,oBAAoB,UAAuE,CAAC;AAClG,QAAA,MAAM,oBAAoB,MAAM,CAAC;AACjC,QAAA,MAAM,sBAAsB,WAAW,CAAC;AACxC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AACvC,QAAA,MAAM,gBAAgB,QAAQ,CAAC;AAC/B,QAAA,MAAM,sBAAsB,UAAS,CAAC;AACtC,QAAA,MAAM,2BAA2B,QAAQ,CAAC;AAC1C,QAAA,MAAM,0CAA0C,UAAa,CAAC;AAC9D,QAAA,MAAM,yBAAyB,QAAyB,CAAC;AACzD,QAAA,MAAM,4BAA4B,QAAe,CAAC;AAClD,QAAA,MAAM,qBAAqB,yCAAyC,CAAC;AACrE,QAAA,MAAM,iBAAiB,KAAK,CAAC;AAE7B,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { buildPackageLogGroup, PACKAGE_NAME } from "./package-metadata.js";
2
2
  const DEFAULT_SOURCE_ROOT = ".";
3
3
  const CODE_DISCIPLINE_STATE_DIR = ".trebired/code-discipline";
4
- const DEFAULT_SOURCE_EXTENSIONS = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".mts", ".cts", ".cjs", ".go", ".rs", ".py", ".sh", ".bash", ".zsh", ".qml", ".scss", ".css"];
4
+ const DEFAULT_SOURCE_EXTENSIONS = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".mts", ".cts", ".cjs", ".go", ".rs", ".cpp", ".cc", ".cxx", ".c++", ".hpp", ".hh", ".hxx", ".h++", ".h", ".cs", ".py", ".sh", ".bash", ".zsh", ".qml", ".scss", ".css"];
5
5
  const DEFAULT_EXCLUDE_DIRS = [".git", "node_modules", "dist", ".vite", CODE_DISCIPLINE_STATE_DIR];
6
6
  const DEFAULT_ALIAS_PREFIX = "#";
7
7
  const DEFAULT_ALIAS_STRATEGY = "random";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE3E,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,yBAAyB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACvK,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AAClG,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AACxC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAC1C,MAAM,0CAA0C,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9D,MAAM,yBAAyB,GAAG,oBAAoB,EAAE,CAAC;AACzD,MAAM,4BAA4B,GAAG,YAAY,CAAC;AAClD,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AACrE,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE3E,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,yBAAyB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAClP,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AAClG,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AACxC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAC1C,MAAM,0CAA0C,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9D,MAAM,yBAAyB,GAAG,oBAAoB,EAAE,CAAC;AACzD,MAAM,4BAA4B,GAAG,YAAY,CAAC;AAClD,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AACrE,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,CAAC"}
@@ -3,6 +3,8 @@ declare function isGoExtension(value: string): boolean;
3
3
  declare function isPythonExtension(value: string): boolean;
4
4
  declare function isQmlExtension(value: string): boolean;
5
5
  declare function isRustExtension(value: string): boolean;
6
+ declare function isCppExtension(value: string): boolean;
7
+ declare function isCsharpExtension(value: string): boolean;
6
8
  declare function isShellExtension(value: string): boolean;
7
9
  declare function isScssExtension(value: string): boolean;
8
10
  declare function isStyleExtension(value: string): boolean;
@@ -14,5 +16,5 @@ declare function supportsRemoveComments(value: string): boolean;
14
16
  declare function supportsFormatter(value: string): boolean;
15
17
  declare const supportsRedundantPathSegmentsFix: typeof supportsFormatter;
16
18
  declare const supportsStructuralBlankLines: typeof supportsFormatter;
17
- export { isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isScssExtension, isStyleExtension, isTypeScriptFamilyExtension, supportsDry, supportsRedundantPathSegmentsFix, supportsFormatter, supportsMaxFunctionLines, supportsMinDeclarationName, supportsRemoveComments, supportsStructuralBlankLines, supportsImports, };
19
+ export { isCppExtension, isCsharpExtension, isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isScssExtension, isStyleExtension, isTypeScriptFamilyExtension, supportsDry, supportsRedundantPathSegmentsFix, supportsFormatter, supportsMaxFunctionLines, supportsMinDeclarationName, supportsRemoveComments, supportsStructuralBlankLines, supportsImports, };
18
20
  //# sourceMappingURL=languages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/shared/languages.ts"],"names":[],"mappings":"AAwBA,iBAAS,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,iBAAS,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,QAAA,MAAM,gCAAgC,0BAAoB,CAAC;AAC3D,QAAA,MAAM,4BAA4B,0BAAoB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,WAAW,EACX,gCAAgC,EAChC,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/shared/languages.ts"],"names":[],"mappings":"AA0BA,iBAAS,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASxD;AAED,iBAAS,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAUtD;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,QAAA,MAAM,gCAAgC,0BAAoB,CAAC;AAC3D,QAAA,MAAM,4BAA4B,0BAAoB,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,WAAW,EACX,gCAAgC,EAChC,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,GAChB,CAAC"}
@@ -13,6 +13,8 @@ const GO_FAMILY_EXTENSIONS = new Set([".go"]);
13
13
  const PYTHON_FAMILY_EXTENSIONS = new Set([".py"]);
14
14
  const QML_FAMILY_EXTENSIONS = new Set([".qml"]);
15
15
  const RUST_FAMILY_EXTENSIONS = new Set([".rs"]);
16
+ const CPP_FAMILY_EXTENSIONS = new Set([".cpp", ".cc", ".cxx", ".c++", ".hpp", ".hh", ".hxx", ".h++", ".h"]);
17
+ const CSHARP_FAMILY_EXTENSIONS = new Set([".cs"]);
16
18
  const SHELL_FAMILY_EXTENSIONS = new Set([".bash", ".sh", ".zsh"]);
17
19
  const STYLE_FAMILY_EXTENSIONS = new Set([".scss", ".css"]);
18
20
  function normalizeExtension(value) {
@@ -33,6 +35,12 @@ function isQmlExtension(value) {
33
35
  function isRustExtension(value) {
34
36
  return RUST_FAMILY_EXTENSIONS.has(normalizeExtension(value));
35
37
  }
38
+ function isCppExtension(value) {
39
+ return CPP_FAMILY_EXTENSIONS.has(normalizeExtension(value));
40
+ }
41
+ function isCsharpExtension(value) {
42
+ return CSHARP_FAMILY_EXTENSIONS.has(normalizeExtension(value));
43
+ }
36
44
  function isShellExtension(value) {
37
45
  return SHELL_FAMILY_EXTENSIONS.has(normalizeExtension(value));
38
46
  }
@@ -46,7 +54,14 @@ function supportsImports(value) {
46
54
  return isTypeScriptFamilyExtension(value) || isScssExtension(value);
47
55
  }
48
56
  function supportsMaxFunctionLines(value) {
49
- return isTypeScriptFamilyExtension(value) || isGoExtension(value) || isRustExtension(value) || isPythonExtension(value) || isShellExtension(value) || isQmlExtension(value);
57
+ return isTypeScriptFamilyExtension(value)
58
+ || isGoExtension(value)
59
+ || isRustExtension(value)
60
+ || isCppExtension(value)
61
+ || isCsharpExtension(value)
62
+ || isPythonExtension(value)
63
+ || isShellExtension(value)
64
+ || isQmlExtension(value);
50
65
  }
51
66
  function supportsMinDeclarationName(value) {
52
67
  return supportsFormatter(value);
@@ -55,12 +70,20 @@ function supportsDry(value) {
55
70
  return supportsMaxFunctionLines(value);
56
71
  }
57
72
  function supportsRemoveComments(value) {
58
- return isTypeScriptFamilyExtension(value) || isGoExtension(value) || isRustExtension(value) || isPythonExtension(value) || isShellExtension(value) || isQmlExtension(value) || isStyleExtension(value);
73
+ return isTypeScriptFamilyExtension(value)
74
+ || isGoExtension(value)
75
+ || isRustExtension(value)
76
+ || isCppExtension(value)
77
+ || isCsharpExtension(value)
78
+ || isPythonExtension(value)
79
+ || isShellExtension(value)
80
+ || isQmlExtension(value)
81
+ || isStyleExtension(value);
59
82
  }
60
83
  function supportsFormatter(value) {
61
84
  return supportsRemoveComments(value);
62
85
  }
63
86
  const supportsRedundantPathSegmentsFix = supportsFormatter;
64
87
  const supportsStructuralBlankLines = supportsFormatter;
65
- export { isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isScssExtension, isStyleExtension, isTypeScriptFamilyExtension, supportsDry, supportsRedundantPathSegmentsFix, supportsFormatter, supportsMaxFunctionLines, supportsMinDeclarationName, supportsRemoveComments, supportsStructuralBlankLines, supportsImports, };
88
+ export { isCppExtension, isCsharpExtension, isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isScssExtension, isStyleExtension, isTypeScriptFamilyExtension, supportsDry, supportsRedundantPathSegmentsFix, supportsFormatter, supportsMaxFunctionLines, supportsMinDeclarationName, supportsRemoveComments, supportsStructuralBlankLines, supportsImports, };
66
89
  //# sourceMappingURL=languages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/shared/languages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/shared/languages.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trebired/code-discipline",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "description": "Configurable codebase discipline checks and rule-driven fixes for Bun projects.",
5
5
  "type": "module",
6
6
  "private": false,