@trebired/code-discipline 2.3.0 → 3.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 (193) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +49 -2
  3. package/dist/checks/fix-folderization.js +1 -1
  4. package/dist/checks/index.d.ts +1 -0
  5. package/dist/checks/index.d.ts.map +1 -1
  6. package/dist/checks/index.js +93 -70
  7. package/dist/checks/index.js.map +1 -1
  8. package/dist/checks/rule-slugs.d.ts +3 -3
  9. package/dist/checks/rule-slugs.d.ts.map +1 -1
  10. package/dist/checks/rule-slugs.js +12 -8
  11. package/dist/checks/rule-slugs.js.map +1 -1
  12. package/dist/checks/rules/comments/ranges.d.ts +10 -0
  13. package/dist/checks/rules/comments/ranges.d.ts.map +1 -0
  14. package/dist/checks/rules/{comment-stripping.js → comments/ranges.js} +51 -107
  15. package/dist/checks/rules/comments/ranges.js.map +1 -0
  16. package/dist/checks/rules/{comment-stripping.d.ts → comments/stripping.d.ts} +3 -2
  17. package/dist/checks/rules/comments/stripping.d.ts.map +1 -0
  18. package/dist/checks/rules/comments/stripping.js +81 -0
  19. package/dist/checks/rules/comments/stripping.js.map +1 -0
  20. package/dist/checks/rules/dry/candidates.d.ts +8 -0
  21. package/dist/checks/rules/dry/candidates.d.ts.map +1 -0
  22. package/dist/checks/rules/dry/candidates.js +98 -0
  23. package/dist/checks/rules/dry/candidates.js.map +1 -0
  24. package/dist/checks/rules/dry/fingerprint.d.ts +15 -0
  25. package/dist/checks/rules/dry/fingerprint.d.ts.map +1 -0
  26. package/dist/checks/rules/dry/fingerprint.js +80 -0
  27. package/dist/checks/rules/dry/fingerprint.js.map +1 -0
  28. package/dist/checks/rules/dry/fix.d.ts +5 -0
  29. package/dist/checks/rules/dry/fix.d.ts.map +1 -0
  30. package/dist/checks/rules/dry/fix.js +252 -0
  31. package/dist/checks/rules/dry/fix.js.map +1 -0
  32. package/dist/checks/rules/dry/helpers.d.ts +5 -0
  33. package/dist/checks/rules/dry/helpers.d.ts.map +1 -0
  34. package/dist/checks/rules/dry/helpers.js +99 -0
  35. package/dist/checks/rules/dry/helpers.js.map +1 -0
  36. package/dist/checks/rules/dry/index.d.ts +7 -0
  37. package/dist/checks/rules/dry/index.d.ts.map +1 -0
  38. package/dist/checks/rules/dry/index.js +14 -0
  39. package/dist/checks/rules/dry/index.js.map +1 -0
  40. package/dist/checks/rules/dry/model.d.ts +37 -0
  41. package/dist/checks/rules/dry/model.d.ts.map +1 -0
  42. package/dist/checks/rules/dry/model.js +16 -0
  43. package/dist/checks/rules/dry/model.js.map +1 -0
  44. package/dist/checks/rules/dry/serialize/bindings.d.ts +8 -0
  45. package/dist/checks/rules/dry/serialize/bindings.d.ts.map +1 -0
  46. package/dist/checks/rules/dry/serialize/bindings.js +62 -0
  47. package/dist/checks/rules/dry/serialize/bindings.js.map +1 -0
  48. package/dist/checks/rules/dry/serialize/context.d.ts +18 -0
  49. package/dist/checks/rules/dry/serialize/context.d.ts.map +1 -0
  50. package/dist/checks/rules/dry/serialize/context.js +103 -0
  51. package/dist/checks/rules/dry/serialize/context.js.map +1 -0
  52. package/dist/checks/rules/dry/serialize/expressions.d.ts +10 -0
  53. package/dist/checks/rules/dry/serialize/expressions.d.ts.map +1 -0
  54. package/dist/checks/rules/dry/serialize/expressions.js +161 -0
  55. package/dist/checks/rules/dry/serialize/expressions.js.map +1 -0
  56. package/dist/checks/rules/dry/serialize/node.d.ts +5 -0
  57. package/dist/checks/rules/dry/serialize/node.d.ts.map +1 -0
  58. package/dist/checks/rules/dry/serialize/node.js +43 -0
  59. package/dist/checks/rules/dry/serialize/node.js.map +1 -0
  60. package/dist/checks/rules/dry/serialize/statements.d.ts +7 -0
  61. package/dist/checks/rules/dry/serialize/statements.d.ts.map +1 -0
  62. package/dist/checks/rules/dry/serialize/statements.js +99 -0
  63. package/dist/checks/rules/dry/serialize/statements.js.map +1 -0
  64. package/dist/checks/rules/evasion-guards/functions.d.ts +14 -0
  65. package/dist/checks/rules/evasion-guards/functions.d.ts.map +1 -0
  66. package/dist/checks/rules/evasion-guards/functions.js +83 -0
  67. package/dist/checks/rules/evasion-guards/functions.js.map +1 -0
  68. package/dist/checks/rules/evasion-guards/index.d.ts +6 -0
  69. package/dist/checks/rules/evasion-guards/index.d.ts.map +1 -0
  70. package/dist/checks/rules/evasion-guards/index.js +126 -0
  71. package/dist/checks/rules/evasion-guards/index.js.map +1 -0
  72. package/dist/checks/rules/evasion-guards/runtime.d.ts +6 -0
  73. package/dist/checks/rules/evasion-guards/runtime.d.ts.map +1 -0
  74. package/dist/checks/rules/evasion-guards/runtime.js +51 -0
  75. package/dist/checks/rules/evasion-guards/runtime.js.map +1 -0
  76. package/dist/checks/rules/evasion-guards/strip.d.ts +11 -0
  77. package/dist/checks/rules/evasion-guards/strip.d.ts.map +1 -0
  78. package/dist/checks/rules/evasion-guards/strip.js +89 -0
  79. package/dist/checks/rules/evasion-guards/strip.js.map +1 -0
  80. package/dist/checks/rules/folderize/compound-files.d.ts +6 -0
  81. package/dist/checks/rules/folderize/compound-files.d.ts.map +1 -0
  82. package/dist/checks/rules/{folderize-compound-files.js → folderize/compound-files.js} +10 -2
  83. package/dist/checks/rules/folderize/compound-files.js.map +1 -0
  84. package/dist/checks/rules/{folderize-plan.d.ts → folderize/plan.d.ts} +3 -3
  85. package/dist/checks/rules/folderize/plan.d.ts.map +1 -0
  86. package/dist/checks/rules/{folderize-plan.js → folderize/plan.js} +2 -2
  87. package/dist/checks/rules/folderize/plan.js.map +1 -0
  88. package/dist/checks/rules/max/file-lines.d.ts +6 -0
  89. package/dist/checks/rules/max/file-lines.d.ts.map +1 -0
  90. package/dist/checks/rules/{max-file-lines.js → max/file-lines.js} +9 -1
  91. package/dist/checks/rules/max/file-lines.js.map +1 -0
  92. package/dist/checks/rules/max/function-lines.d.ts +6 -0
  93. package/dist/checks/rules/max/function-lines.d.ts.map +1 -0
  94. package/dist/checks/rules/{max-function-lines.js → max/function-lines.js} +79 -61
  95. package/dist/checks/rules/max/function-lines.js.map +1 -0
  96. package/dist/checks/rules/remove-comments.d.ts.map +1 -1
  97. package/dist/checks/rules/remove-comments.js +10 -1
  98. package/dist/checks/rules/remove-comments.js.map +1 -1
  99. package/dist/checks/types.d.ts +25 -2
  100. package/dist/checks/types.d.ts.map +1 -1
  101. package/dist/cli/progress.d.ts +11 -0
  102. package/dist/cli/progress.d.ts.map +1 -0
  103. package/dist/cli/progress.js +65 -0
  104. package/dist/cli/progress.js.map +1 -0
  105. package/dist/cli/run-cli.d.ts.map +1 -1
  106. package/dist/cli/run-cli.js +91 -66
  107. package/dist/cli/run-cli.js.map +1 -1
  108. package/dist/config/index.d.ts.map +1 -1
  109. package/dist/config/index.js +68 -62
  110. package/dist/config/index.js.map +1 -1
  111. package/dist/config/{normalize-check-options.d.ts → normalize/check-options.d.ts} +2 -2
  112. package/dist/config/normalize/check-options.d.ts.map +1 -0
  113. package/dist/config/{normalize-check-options.js → normalize/check-options.js} +6 -5
  114. package/dist/config/normalize/check-options.js.map +1 -0
  115. package/dist/config/{normalize-rule-options.d.ts → normalize/rule-options.d.ts} +9 -8
  116. package/dist/config/normalize/rule-options.d.ts.map +1 -0
  117. package/dist/config/{normalize-rule-options.js → normalize/rule-options.js} +37 -4
  118. package/dist/config/normalize/rule-options.js.map +1 -0
  119. package/dist/config/{normalize-source-options.d.ts → normalize/source-options.d.ts} +4 -2
  120. package/dist/config/normalize/source-options.d.ts.map +1 -0
  121. package/dist/config/{normalize-source-options.js → normalize/source-options.js} +6 -5
  122. package/dist/config/normalize/source-options.js.map +1 -0
  123. package/dist/config/{normalize-sync-imports-options.d.ts → normalize/sync-imports-options.d.ts} +2 -2
  124. package/dist/config/normalize/sync-imports-options.d.ts.map +1 -0
  125. package/dist/config/{normalize-sync-imports-options.js → normalize/sync-imports-options.js} +5 -5
  126. package/dist/config/normalize/sync-imports-options.js.map +1 -0
  127. package/dist/imports/check-sync-imports.js +1 -1
  128. package/dist/imports/check-sync-imports.js.map +1 -1
  129. package/dist/imports/scan.d.ts.map +1 -1
  130. package/dist/imports/scan.js +127 -26
  131. package/dist/imports/scan.js.map +1 -1
  132. package/dist/imports/sync-imports.d.ts.map +1 -1
  133. package/dist/imports/sync-imports.js +59 -47
  134. package/dist/imports/sync-imports.js.map +1 -1
  135. package/dist/imports/types.d.ts +26 -1
  136. package/dist/imports/types.d.ts.map +1 -1
  137. package/dist/index.d.ts +4 -3
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +3 -2
  140. package/dist/index.js.map +1 -1
  141. package/dist/native/native.d.ts +18 -0
  142. package/dist/native/native.d.ts.map +1 -0
  143. package/dist/native/native.js +78 -0
  144. package/dist/native/native.js.map +1 -0
  145. package/dist/run.d.ts +2 -0
  146. package/dist/run.d.ts.map +1 -1
  147. package/dist/run.js +4 -0
  148. package/dist/run.js.map +1 -1
  149. package/dist/runtime/{runtime-imports-sync.d.ts → imports-sync.d.ts} +1 -1
  150. package/dist/runtime/imports-sync.d.ts.map +1 -0
  151. package/dist/runtime/{runtime-imports-sync.js → imports-sync.js} +33 -21
  152. package/dist/runtime/imports-sync.js.map +1 -0
  153. package/dist/shared/discipline-types.d.ts +1 -1
  154. package/dist/shared/discipline-types.d.ts.map +1 -1
  155. package/dist/shared/logging.d.ts.map +1 -1
  156. package/dist/shared/logging.js +28 -13
  157. package/dist/shared/logging.js.map +1 -1
  158. package/dist/shared/utils.d.ts +4 -4
  159. package/dist/shared/utils.d.ts.map +1 -1
  160. package/dist/shared/utils.js +4 -4
  161. package/dist/shared/utils.js.map +1 -1
  162. package/native/darwin-arm64.node +0 -0
  163. package/native/darwin-x64.node +0 -0
  164. package/native/linux-arm64-gnu.node +0 -0
  165. package/native/linux-x64-gnu.node +0 -0
  166. package/package.json +11 -4
  167. package/dist/checks/rules/comment-stripping.d.ts.map +0 -1
  168. package/dist/checks/rules/comment-stripping.js.map +0 -1
  169. package/dist/checks/rules/dry.d.ts +0 -7
  170. package/dist/checks/rules/dry.d.ts.map +0 -1
  171. package/dist/checks/rules/dry.js +0 -905
  172. package/dist/checks/rules/dry.js.map +0 -1
  173. package/dist/checks/rules/folderize-compound-files.d.ts +0 -6
  174. package/dist/checks/rules/folderize-compound-files.d.ts.map +0 -1
  175. package/dist/checks/rules/folderize-compound-files.js.map +0 -1
  176. package/dist/checks/rules/folderize-plan.d.ts.map +0 -1
  177. package/dist/checks/rules/folderize-plan.js.map +0 -1
  178. package/dist/checks/rules/max-file-lines.d.ts +0 -6
  179. package/dist/checks/rules/max-file-lines.d.ts.map +0 -1
  180. package/dist/checks/rules/max-file-lines.js.map +0 -1
  181. package/dist/checks/rules/max-function-lines.d.ts +0 -6
  182. package/dist/checks/rules/max-function-lines.d.ts.map +0 -1
  183. package/dist/checks/rules/max-function-lines.js.map +0 -1
  184. package/dist/config/normalize-check-options.d.ts.map +0 -1
  185. package/dist/config/normalize-check-options.js.map +0 -1
  186. package/dist/config/normalize-rule-options.d.ts.map +0 -1
  187. package/dist/config/normalize-rule-options.js.map +0 -1
  188. package/dist/config/normalize-source-options.d.ts.map +0 -1
  189. package/dist/config/normalize-source-options.js.map +0 -1
  190. package/dist/config/normalize-sync-imports-options.d.ts.map +0 -1
  191. package/dist/config/normalize-sync-imports-options.js.map +0 -1
  192. package/dist/runtime/runtime-imports-sync.d.ts.map +0 -1
  193. package/dist/runtime/runtime-imports-sync.js.map +0 -1
@@ -1,50 +1,151 @@
1
1
  import fs from "node:fs/promises";
2
+ import os from "node:os";
2
3
  import path from "node:path";
3
- import { normalizeRelativePath, toPosixPath } from "../shared/utils.js";
4
- function shouldExcludeDirectory(relativeDir, projectRelativeDir, directoryName, excludeDirs) {
5
- const normalizedRelativeDir = normalizeRelativePath(relativeDir);
6
- const normalizedProjectRelativeDir = normalizeRelativePath(projectRelativeDir);
7
- return excludeDirs.some((entry) => {
8
- const normalizedEntry = normalizeRelativePath(entry);
9
- return directoryName === normalizedEntry
10
- || normalizedRelativeDir === normalizedEntry
11
- || normalizedRelativeDir.startsWith(`${normalizedEntry}/`);
12
- }) || excludeDirs.some((entry) => {
13
- const normalizedEntry = normalizeRelativePath(entry);
14
- return normalizedProjectRelativeDir === normalizedEntry
15
- || normalizedProjectRelativeDir.startsWith(`${normalizedEntry}/`);
4
+ import { performance } from "node:perf_hooks";
5
+ import { loadNativeBinding } from "../native/native.js";
6
+ import { normalizeRelativePath, toPosixPath, uniqueStrings } from "../shared/utils.js";
7
+ function resolveScanConcurrency() {
8
+ const override = Number.parseInt(process.env.TB_CODE_DISCIPLINE_SCAN_CONCURRENCY ?? "", 10);
9
+ if (Number.isFinite(override) && override > 0) {
10
+ return Math.max(1, override);
11
+ }
12
+ const parallelism = typeof os.availableParallelism === "function"
13
+ ? os.availableParallelism()
14
+ : os.cpus().length;
15
+ return Math.min(64, Math.max(8, parallelism * 4));
16
+ }
17
+ function createExcludeMatcher(excludeDirs) {
18
+ const normalizedEntries = uniqueStrings(excludeDirs.map((entry) => normalizeRelativePath(entry)).filter(Boolean));
19
+ const excludedDirectoryNames = new Set(normalizedEntries.filter((entry) => !entry.includes("/")));
20
+ return {
21
+ shouldExcludeDirectory(relativeDir, projectRelativeDir, directoryName) {
22
+ const normalizedRelativeDir = normalizeRelativePath(relativeDir);
23
+ const normalizedProjectRelativeDir = normalizeRelativePath(projectRelativeDir);
24
+ if (excludedDirectoryNames.has(directoryName)) {
25
+ return true;
26
+ }
27
+ for (const entry of normalizedEntries) {
28
+ if (normalizedRelativeDir === entry
29
+ || normalizedRelativeDir.startsWith(`${entry}/`)
30
+ || normalizedProjectRelativeDir === entry
31
+ || normalizedProjectRelativeDir.startsWith(`${entry}/`)) {
32
+ return true;
33
+ }
34
+ }
35
+ return false;
36
+ },
37
+ };
38
+ }
39
+ function emitScanCompleted(options, backend, metrics) {
40
+ options.scanObserver?.({
41
+ phase: "completed",
42
+ backend,
43
+ ...metrics,
16
44
  });
17
45
  }
18
- async function walkDirectory(directoryPath, relativeDir, options, rows) {
19
- const entries = await fs.readdir(directoryPath, { withFileTypes: true });
20
- const sortedEntries = [...entries].sort((left, right) => left.name.localeCompare(right.name));
21
- for (const entry of sortedEntries) {
22
- const absolutePath = path.join(directoryPath, entry.name);
23
- const relativePath = normalizeRelativePath(path.join(relativeDir, entry.name));
46
+ async function scanDirectory(task, options, extensionSet, excludeMatcher) {
47
+ const entries = await fs.readdir(task.absolutePath, { withFileTypes: true });
48
+ entries.sort((left, right) => left.name.localeCompare(right.name));
49
+ const directories = [];
50
+ const files = [];
51
+ for (const entry of entries) {
52
+ const absolutePath = path.join(task.absolutePath, entry.name);
53
+ const relativePath = normalizeRelativePath(path.join(task.relativeDir, entry.name));
24
54
  const projectRelativePath = normalizeRelativePath(path.relative(options.projectRoot, absolutePath));
25
55
  if (entry.isDirectory()) {
26
- if (shouldExcludeDirectory(relativePath, projectRelativePath, entry.name, options.excludeDirs))
56
+ if (excludeMatcher.shouldExcludeDirectory(relativePath, projectRelativePath, entry.name))
27
57
  continue;
28
- await walkDirectory(absolutePath, relativePath, options, rows);
58
+ directories.push({ absolutePath, relativeDir: relativePath });
29
59
  continue;
30
60
  }
31
61
  if (!entry.isFile())
32
62
  continue;
33
63
  const extension = path.extname(entry.name).toLowerCase();
34
- if (!options.sourceExtensions.includes(extension))
64
+ if (!extensionSet.has(extension))
35
65
  continue;
36
- rows.push({
66
+ files.push({
37
67
  absolutePath,
38
68
  relativeFromProjectRoot: toPosixPath(path.relative(options.projectRoot, absolutePath)),
39
69
  relativeFromSourceRoot: toPosixPath(relativePath),
40
70
  extension,
41
71
  });
42
72
  }
73
+ return { directories, files };
43
74
  }
44
- async function scanSourceFiles(options) {
75
+ async function scanSourceFilesWithFallback(options) {
76
+ const startedAt = performance.now();
77
+ const concurrency = resolveScanConcurrency();
78
+ const extensionSet = new Set(options.sourceExtensions.map((extension) => extension.toLowerCase()));
79
+ const excludeMatcher = createExcludeMatcher(options.excludeDirs);
45
80
  const rows = [];
46
- await walkDirectory(options.sourceRoot, "", options, rows);
47
- return rows.sort((left, right) => left.relativeFromProjectRoot.localeCompare(right.relativeFromProjectRoot));
81
+ const queue = [{ absolutePath: options.sourceRoot, relativeDir: "" }];
82
+ let completedDirectories = 0;
83
+ let discoveredFiles = 0;
84
+ let chunkIndex = 0;
85
+ while (queue.length > 0) {
86
+ const batch = queue.splice(0, concurrency);
87
+ const results = await Promise.all(batch.map((task) => scanDirectory(task, options, extensionSet, excludeMatcher)));
88
+ chunkIndex += 1;
89
+ let chunkMatchedFiles = 0;
90
+ for (const result of results) {
91
+ rows.push(...result.files);
92
+ queue.push(...result.directories);
93
+ completedDirectories += 1;
94
+ discoveredFiles += result.files.length;
95
+ chunkMatchedFiles += result.files.length;
96
+ }
97
+ options.scanObserver?.({
98
+ phase: "chunk",
99
+ backend: "ts",
100
+ chunkIndex,
101
+ chunkSize: batch.length,
102
+ chunkMatchedFiles,
103
+ queuedDirectories: queue.length,
104
+ completedDirectories,
105
+ discoveredFiles,
106
+ elapsedMs: performance.now() - startedAt,
107
+ concurrency,
108
+ });
109
+ }
110
+ const sortedRows = rows.sort((left, right) => left.relativeFromProjectRoot.localeCompare(right.relativeFromProjectRoot));
111
+ emitScanCompleted(options, "ts", {
112
+ chunkCount: chunkIndex,
113
+ directoryCount: completedDirectories,
114
+ fileCount: sortedRows.length,
115
+ elapsedMs: performance.now() - startedAt,
116
+ concurrency,
117
+ });
118
+ return sortedRows;
119
+ }
120
+ function parseNativeScanResult(result) {
121
+ if (Array.isArray(result)) {
122
+ return { rows: result };
123
+ }
124
+ return {
125
+ metrics: result.metrics,
126
+ rows: result.rows,
127
+ };
128
+ }
129
+ async function scanSourceFiles(options) {
130
+ const native = loadNativeBinding();
131
+ if (native) {
132
+ const startedAt = performance.now();
133
+ const parsed = parseNativeScanResult(JSON.parse(native.scanSourceFiles(JSON.stringify({
134
+ projectRoot: options.projectRoot,
135
+ sourceRoot: options.sourceRoot,
136
+ sourceExtensions: options.sourceExtensions,
137
+ excludeDirs: options.excludeDirs,
138
+ }))));
139
+ emitScanCompleted(options, "native", parsed.metrics ?? {
140
+ chunkCount: 1,
141
+ directoryCount: 0,
142
+ fileCount: parsed.rows.length,
143
+ elapsedMs: performance.now() - startedAt,
144
+ concurrency: 1,
145
+ });
146
+ return parsed.rows;
147
+ }
148
+ return scanSourceFilesWithFallback(options);
48
149
  }
49
150
  export { scanSourceFiles };
50
151
  //# 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-imports.d.ts","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AActG,iBAAe,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,4BAA4B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgFjH;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"sync-imports.d.ts","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAmFtG,iBAAe,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,4BAA4B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmCjH;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { normalizeSyncImportsOptions } from "../config/normalize-sync-imports-options.js";
2
- import { syncPackageJsonImportsFromTsconfigPaths } from "../runtime/runtime-imports-sync.js";
1
+ import { normalizeSyncImportsOptions } from "../config/normalize/sync-imports-options.js";
2
+ import { syncPackageJsonImportsFromTsconfigPaths } from "../runtime/imports-sync.js";
3
3
  import { resolveLogger } from "../shared/logging.js";
4
4
  import { supportsSyncImports } from "../shared/languages.js";
5
5
  import { planTsconfigAliases, syncTsconfigAliases } from "./aliases.js";
@@ -16,6 +16,57 @@ function summarizeViolations(violations) {
16
16
  function isNormalizedSyncImportsOptions(options) {
17
17
  return Array.isArray(options.excludeDirs);
18
18
  }
19
+ function createCheckOnlyResult(args) {
20
+ return {
21
+ ...summarizeViolations(args.violations),
22
+ mutations_allowed: false,
23
+ aliases_changed: args.aliasesChanged,
24
+ aliases_count: args.aliasesCount,
25
+ import_violations: args.violations.length,
26
+ rewritten_files: 0,
27
+ rewritten_imports: 0,
28
+ };
29
+ }
30
+ function logCheckOnlyResult(result, logger) {
31
+ logger.flush(result.violationCount > 0 ? "warn" : "success", result.violationCount > 0 ? "sync-drift-detected" : "sync-drift-clear", result.violationCount > 0 ? `sync found ${result.violationCount} drift issue(s)` : "sync policy already satisfied", {
32
+ aliasesChanged: result.aliases_changed,
33
+ aliasesCount: result.aliases_count,
34
+ importViolations: result.import_violations,
35
+ mutationAllowed: result.mutations_allowed,
36
+ violationCount: result.violationCount,
37
+ });
38
+ }
39
+ async function applySyncFixes(normalized, sourceFiles, plannedAliases, logger) {
40
+ const aliasState = plannedAliases.aliasesChanged
41
+ ? await syncTsconfigAliases(normalized, sourceFiles, logger)
42
+ : plannedAliases;
43
+ const rewriteState = await rewriteSourceImports(sourceFiles, aliasState.aliasRecords, normalized, logger);
44
+ const packageJsonImportsState = await syncPackageJsonImportsFromTsconfigPaths({
45
+ configPath: normalized.configPath,
46
+ options: normalized.packageJsonImports,
47
+ projectRoot: normalized.projectRoot,
48
+ tsconfigPath: normalized.tsconfigPath,
49
+ });
50
+ const result = {
51
+ ok: true,
52
+ violationCount: 0,
53
+ violations: [],
54
+ mutations_allowed: true,
55
+ aliases_changed: aliasState.aliasesChanged,
56
+ aliases_count: aliasState.aliasesCount,
57
+ import_violations: 0,
58
+ rewritten_files: rewriteState.rewrittenFiles,
59
+ rewritten_imports: rewriteState.rewrittenImports,
60
+ };
61
+ logger.flush("success", "sync-finished", "sync completed", {
62
+ aliasesChanged: result.aliases_changed,
63
+ aliasesCount: result.aliases_count,
64
+ rewrittenFiles: result.rewritten_files,
65
+ rewrittenImports: result.rewritten_imports,
66
+ packageJsonImportsChanged: packageJsonImportsState?.changed ?? false,
67
+ });
68
+ return result;
69
+ }
19
70
  async function syncImports(options) {
20
71
  const normalized = isNormalizedSyncImportsOptions(options)
21
72
  ? options
@@ -32,54 +83,15 @@ async function syncImports(options) {
32
83
  const plannedAliases = await planTsconfigAliases(normalized, sourceFiles, logger);
33
84
  const driftViolations = await collectSyncImportViolations(sourceFiles, normalized, logger);
34
85
  if (!normalized.fix) {
35
- const summary = summarizeViolations(driftViolations);
36
- const result = {
37
- ...summary,
38
- mutations_allowed: false,
39
- aliases_changed: plannedAliases.aliasesChanged,
40
- aliases_count: plannedAliases.aliasesCount,
41
- import_violations: driftViolations.length,
42
- rewritten_files: 0,
43
- rewritten_imports: 0,
44
- };
45
- logger.flush(result.violationCount > 0 ? "warn" : "success", result.violationCount > 0 ? "sync-drift-detected" : "sync-drift-clear", result.violationCount > 0 ? `sync found ${result.violationCount} drift issue(s)` : "sync policy already satisfied", {
46
- aliasesChanged: result.aliases_changed,
47
- aliasesCount: result.aliases_count,
48
- importViolations: result.import_violations,
49
- mutationAllowed: result.mutations_allowed,
50
- violationCount: result.violationCount,
86
+ const result = createCheckOnlyResult({
87
+ aliasesChanged: plannedAliases.aliasesChanged,
88
+ aliasesCount: plannedAliases.aliasesCount,
89
+ violations: driftViolations,
51
90
  });
91
+ logCheckOnlyResult(result, logger);
52
92
  return result;
53
93
  }
54
- const aliasState = plannedAliases.aliasesChanged
55
- ? await syncTsconfigAliases(normalized, sourceFiles, logger)
56
- : plannedAliases;
57
- const rewriteState = await rewriteSourceImports(sourceFiles, aliasState.aliasRecords, normalized, logger);
58
- const packageJsonImportsState = await syncPackageJsonImportsFromTsconfigPaths({
59
- configPath: normalized.configPath,
60
- options: normalized.packageJsonImports,
61
- projectRoot: normalized.projectRoot,
62
- tsconfigPath: normalized.tsconfigPath,
63
- });
64
- const result = {
65
- ok: true,
66
- violationCount: 0,
67
- violations: [],
68
- mutations_allowed: true,
69
- aliases_changed: aliasState.aliasesChanged,
70
- aliases_count: aliasState.aliasesCount,
71
- import_violations: 0,
72
- rewritten_files: rewriteState.rewrittenFiles,
73
- rewritten_imports: rewriteState.rewrittenImports,
74
- };
75
- logger.flush("success", "sync-finished", "sync completed", {
76
- aliasesChanged: result.aliases_changed,
77
- aliasesCount: result.aliases_count,
78
- rewrittenFiles: result.rewritten_files,
79
- rewrittenImports: result.rewritten_imports,
80
- packageJsonImportsChanged: packageJsonImportsState?.changed ?? false,
81
- });
82
- return result;
94
+ return applySyncFixes(normalized, sourceFiles, plannedAliases, logger);
83
95
  }
84
96
  catch (error) {
85
97
  logger.flush("error", "sync-failed", error instanceof Error ? error.message : "sync failed", {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-imports.js","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-imports.js","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,29 @@
1
1
  import type { LoggingOptions } from "../shared/logging-types.js";
2
2
  import type { CodeDisciplineViolation } from "../shared/discipline-types.js";
3
+ type SourceScanBackend = "native" | "ts";
4
+ type SourceScanChunkEvent = {
5
+ phase: "chunk";
6
+ backend: SourceScanBackend;
7
+ chunkIndex: number;
8
+ chunkSize: number;
9
+ chunkMatchedFiles: number;
10
+ queuedDirectories: number;
11
+ completedDirectories: number;
12
+ discoveredFiles: number;
13
+ elapsedMs: number;
14
+ concurrency: number;
15
+ };
16
+ type SourceScanCompletedEvent = {
17
+ phase: "completed";
18
+ backend: SourceScanBackend;
19
+ chunkCount: number;
20
+ directoryCount: number;
21
+ fileCount: number;
22
+ elapsedMs: number;
23
+ concurrency: number;
24
+ };
25
+ type SourceScanProgressEvent = SourceScanChunkEvent | SourceScanCompletedEvent;
26
+ type SourceScanObserver = (event: SourceScanProgressEvent) => void;
3
27
  type PackageJsonImportsSyncOptions = {
4
28
  enabled?: boolean;
5
29
  aliasPrefix?: string | string[];
@@ -62,6 +86,7 @@ type SourceScanOptions = {
62
86
  excludeDirs: string[];
63
87
  excludeGitignoreDirs: boolean;
64
88
  gitignorePath: string;
89
+ scanObserver?: SourceScanObserver;
65
90
  };
66
91
  type NormalizedSyncImportsOptions = SourceScanOptions & {
67
92
  sourceRootRelative: string;
@@ -110,5 +135,5 @@ type RewriteResult = {
110
135
  rewrittenFiles: number;
111
136
  rewrittenImports: number;
112
137
  };
113
- export type { AliasRecord, AliasStrategyFn, AliasStrategyInput, AllowRelativeContext, AllowRelativeFn, ExcludeDirsOptions, NormalizedSyncImportsOptions, RewriteFileResult, RewriteResult, ScannedSourceFile, SourceScanOptions, PackageJsonImportsSyncOptions, SyncAliasesResult, SyncImportsOptions, SyncImportsResult, SyncImportsRuleOptions, TsconfigJson, };
138
+ export type { AliasRecord, AliasStrategyFn, AliasStrategyInput, AllowRelativeContext, AllowRelativeFn, ExcludeDirsOptions, NormalizedSyncImportsOptions, RewriteFileResult, RewriteResult, ScannedSourceFile, SourceScanBackend, SourceScanChunkEvent, SourceScanCompletedEvent, SourceScanObserver, SourceScanOptions, SourceScanProgressEvent, PackageJsonImportsSyncOptions, SyncAliasesResult, SyncImportsOptions, SyncImportsResult, SyncImportsRuleOptions, TsconfigJson, };
114
139
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/imports/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/imports/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,KAAK,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEzC,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,uBAAuB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAC/E,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAEnE,KAAK,6BAA6B,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC;AAE7D,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC;AAErF,KAAK,kBAAkB,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,eAAe,CAAC;QACpF,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IAC3C,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;IACnD,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,KAAK,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;AAEtE,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF,KAAK,4BAA4B,GAAG,iBAAiB,GAAG;IACtD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,QAAQ,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,eAAe,CAAC;QACnF,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,aAAa,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IAC1C,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;IACnD,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,eAAe,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,GACb,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,21 +1,22 @@
1
1
  export { DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_ALLOW_RELATIVE, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_RULE_FIX, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, } from "./shared/constants.js";
2
2
  export { checkCodeDiscipline, fixCodeDiscipline } from "./checks/index.js";
3
3
  export { DEFAULT_CONFIG_FILENAMES, defineCodeDisciplineConfig, findCodeDisciplineConfigModule, loadResolvedCodeDisciplineConfig, } from "./config/index.js";
4
- export { normalizeSyncImportsOptions } from "./config/normalize-sync-imports-options.js";
4
+ export { normalizeSyncImportsOptions } from "./config/normalize/sync-imports-options.js";
5
5
  export { planTsconfigAliases, syncTsconfigAliases } from "./imports/aliases.js";
6
6
  export { resolveRelativeImport } from "./imports/resolve.js";
7
7
  export { rewriteSourceImports } from "./imports/rewrite.js";
8
8
  export { scanSourceFiles } from "./imports/scan.js";
9
9
  export { createRandomAlias, createRelativePathHashAlias, createRelativePathSlugAlias } from "./imports/strategies.js";
10
10
  export { syncImports } from "./imports/sync-imports.js";
11
- export { syncPackageJsonImportsFromTsconfigPaths } from "./runtime/runtime-imports-sync.js";
11
+ export { syncPackageJsonImportsFromTsconfigPaths } from "./runtime/imports-sync.js";
12
12
  export { prepareTsconfigPaths, restoreTsconfigPaths } from "./runtime/tsconfig-paths.js";
13
13
  export { codeDiscipline, createCodeDiscipline } from "./run.js";
14
14
  export { resolveLogger } from "./shared/logging.js";
15
+ export { activeNativeBackendNotice, nativeAddonCandidatePathsForCurrentPlatform, nativeBinaryBasenameForCurrentPlatform, resetNativeBindingForTests, } from "./native/native.js";
15
16
  export { AliasCollisionError, FileConflictError, FixFailureError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, } from "./shared/errors.js";
16
17
  export type { CodeDisciplineResult, CodeDisciplineRuleName, CodeDisciplineViolation, } from "./shared/discipline-types.js";
17
18
  export type { CodeDisciplineLogAdapterFn, CodeDisciplineLogEvent, CodeDisciplineLogLevel, LogAdapterFn, LoggingOptions, NormalizedCodeDisciplineLogger, NormalizedSyncImportsLogger, SyncImportsLogEvent, SyncImportsLogLevel, } from "./shared/logging-types.js";
18
19
  export type { AliasRecord, AliasStrategyFn, AliasStrategyInput, AllowRelativeContext, AllowRelativeFn, NormalizedSyncImportsOptions, PackageJsonImportsSyncOptions, RewriteFileResult, RewriteResult, ScannedSourceFile, SourceScanOptions, SyncAliasesResult, SyncImportsOptions, SyncImportsResult, SyncImportsRuleOptions, TsconfigJson, } from "./imports/types.js";
19
20
  export type { CheckCodeDisciplineCommandOptions, CodeDisciplineInvocationOptions, CodeDisciplineMode, CodeDisciplineOptions, CodeDisciplineResult as RunCodeDisciplineResult, CodeDisciplineRuntimeMode, CodeDisciplineRunInvocationOptions, CreatedCodeDiscipline, CheckCodeDisciplineInvocationOptions, FixCodeDisciplineInvocationOptions, FixCodeDisciplineCommandOptions, } from "./run.js";
20
- export type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineLifecycleContext, CodeDisciplineLifecycleHookResult, CodeDisciplineLifecycleHooks, CodeDisciplinePackageJsonImportsOptions, CodeDisciplineRuleSlug, CodeDisciplineRuntimeMode as SharedCodeDisciplineRuntimeMode, CodeDisciplineRules, CodeDisciplineSyncImportsRuleOptions, CodeDisciplineTsconfigPathsOptions, DryHelperReference, DryRuleOptions, FixableRuleSlug, FixCodeDisciplineOptions, FixCodeDisciplineResult, FixCodeDisciplineRuleResult, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, NormalizedCheckCodeDisciplineOptions, NormalizedDryRule, NormalizedFolderizeCompoundFilesRule, NormalizedMaxFileLinesRule, NormalizedMaxFunctionLinesRule, NormalizedRemoveCommentsRule, RemoveCommentsRuleOptions, TsconfigPathsNormalizeMode, } from "./checks/types.js";
21
+ export type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineLifecycleContext, CodeDisciplineLifecycleHookResult, CodeDisciplineLifecycleHooks, CodeDisciplinePackageJsonImportsOptions, CodeDisciplineRuleSlug, CodeDisciplineRuntimeMode as SharedCodeDisciplineRuntimeMode, CodeDisciplineRules, CodeDisciplineSyncImportsRuleOptions, CodeDisciplineTsconfigPathsOptions, DryHelperReference, DryRuleOptions, EvasionGuardsOptions, FixableRuleSlug, FixCodeDisciplineOptions, FixCodeDisciplineResult, FixCodeDisciplineRuleResult, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, NormalizedCheckCodeDisciplineOptions, NormalizedDryRule, NormalizedEvasionGuardsOptions, NormalizedFolderizeCompoundFilesRule, NormalizedMaxFileLinesRule, NormalizedMaxFunctionLinesRule, NormalizedPackedCodeGuardOptions, NormalizedRemoveCommentsRule, PackedCodeGuardOptions, RemoveCommentsRuleOptions, TsconfigPathsNormalizeMode, } from "./checks/types.js";
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,16 +1,17 @@
1
1
  export { DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_ALLOW_RELATIVE, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_RULE_FIX, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, } from "./shared/constants.js";
2
2
  export { checkCodeDiscipline, fixCodeDiscipline } from "./checks/index.js";
3
3
  export { DEFAULT_CONFIG_FILENAMES, defineCodeDisciplineConfig, findCodeDisciplineConfigModule, loadResolvedCodeDisciplineConfig, } from "./config/index.js";
4
- export { normalizeSyncImportsOptions } from "./config/normalize-sync-imports-options.js";
4
+ export { normalizeSyncImportsOptions } from "./config/normalize/sync-imports-options.js";
5
5
  export { planTsconfigAliases, syncTsconfigAliases } from "./imports/aliases.js";
6
6
  export { resolveRelativeImport } from "./imports/resolve.js";
7
7
  export { rewriteSourceImports } from "./imports/rewrite.js";
8
8
  export { scanSourceFiles } from "./imports/scan.js";
9
9
  export { createRandomAlias, createRelativePathHashAlias, createRelativePathSlugAlias } from "./imports/strategies.js";
10
10
  export { syncImports } from "./imports/sync-imports.js";
11
- export { syncPackageJsonImportsFromTsconfigPaths } from "./runtime/runtime-imports-sync.js";
11
+ export { syncPackageJsonImportsFromTsconfigPaths } from "./runtime/imports-sync.js";
12
12
  export { prepareTsconfigPaths, restoreTsconfigPaths } from "./runtime/tsconfig-paths.js";
13
13
  export { codeDiscipline, createCodeDiscipline } from "./run.js";
14
14
  export { resolveLogger } from "./shared/logging.js";
15
+ export { activeNativeBackendNotice, nativeAddonCandidatePathsForCurrentPlatform, nativeBinaryBasenameForCurrentPlatform, resetNativeBindingForTests, } from "./native/native.js";
15
16
  export { AliasCollisionError, FileConflictError, FixFailureError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, } from "./shared/errors.js";
16
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,uCAAuC,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,uCAAuC,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,2CAA2C,EAC3C,sCAAsC,EACtC,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,18 @@
1
+ type NativeBinding = {
2
+ collectRemoveCommentsViolations(requestJson: string): string;
3
+ fixRemoveCommentsRule(requestJson: string): string;
4
+ runEvasionGuardsRule(requestJson: string): string;
5
+ runFolderizeCompoundFilesRule(requestJson: string): string;
6
+ runMaxBlockFunctionLinesRule(requestJson: string): string;
7
+ runMaxFileLinesRule(requestJson: string): string;
8
+ scanSourceFiles(requestJson: string): string;
9
+ stripComments(text: string, extension: string): string;
10
+ };
11
+ declare function nativeBinaryBasenameForCurrentPlatform(): string | null;
12
+ declare function nativeAddonCandidatePathsForCurrentPlatform(): string[];
13
+ declare function loadNativeBinding(): NativeBinding | null;
14
+ declare function resetNativeBindingForTests(): void;
15
+ declare function activeNativeBackendNotice(): string;
16
+ export { activeNativeBackendNotice, loadNativeBinding, nativeAddonCandidatePathsForCurrentPlatform, nativeBinaryBasenameForCurrentPlatform, resetNativeBindingForTests, };
17
+ export type { NativeBinding };
18
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/native/native.ts"],"names":[],"mappings":"AAKA,KAAK,aAAa,GAAG;IACnB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7D,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACnD,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAClD,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3D,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,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CACxD,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"}
@@ -0,0 +1,78 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { createRequire } from "node:module";
4
+ import { fileURLToPath } from "node:url";
5
+ let cachedBinding;
6
+ function linuxLibcVariant() {
7
+ const report = typeof process.report?.getReport === "function" ? process.report.getReport() : null;
8
+ const header = report && typeof report === "object" ? report.header : null;
9
+ if (header?.glibcVersionRuntime)
10
+ return "gnu";
11
+ if (fs.existsSync("/etc/alpine-release"))
12
+ return "musl";
13
+ return "gnu";
14
+ }
15
+ function nativeBinaryBasenameForCurrentPlatform() {
16
+ if (process.platform === "linux") {
17
+ const libc = linuxLibcVariant();
18
+ if (process.arch === "x64")
19
+ return `linux-x64-${libc}.node`;
20
+ if (process.arch === "arm64")
21
+ return `linux-arm64-${libc}.node`;
22
+ return null;
23
+ }
24
+ if (process.platform === "darwin") {
25
+ if (process.arch === "x64")
26
+ return "darwin-x64.node";
27
+ if (process.arch === "arm64")
28
+ return "darwin-arm64.node";
29
+ return null;
30
+ }
31
+ return null;
32
+ }
33
+ function nativeAddonCandidatePathsForCurrentPlatform() {
34
+ const currentDir = path.dirname(fileURLToPath(import.meta.url));
35
+ const binaryName = nativeBinaryBasenameForCurrentPlatform();
36
+ const envOverride = process.env.TB_CODE_DISCIPLINE_NATIVE_BINARY
37
+ ? path.resolve(process.env.TB_CODE_DISCIPLINE_NATIVE_BINARY)
38
+ : "";
39
+ return [
40
+ envOverride,
41
+ binaryName ? path.resolve(currentDir, "../../native", binaryName) : "",
42
+ binaryName ? path.resolve(process.cwd(), "native", binaryName) : "",
43
+ path.resolve(currentDir, "../../native/index.node"),
44
+ path.resolve(process.cwd(), "native/index.node"),
45
+ path.resolve(currentDir, "../../native/code-discipline-native/index.node"),
46
+ path.resolve(process.cwd(), "native/code-discipline-native/index.node"),
47
+ ].filter(Boolean);
48
+ }
49
+ function loadNativeBinding() {
50
+ if (cachedBinding !== undefined)
51
+ return cachedBinding;
52
+ if (process.env.TB_CODE_DISCIPLINE_DISABLE_NATIVE === "1") {
53
+ cachedBinding = null;
54
+ return cachedBinding;
55
+ }
56
+ const require = createRequire(import.meta.url);
57
+ for (const candidate of nativeAddonCandidatePathsForCurrentPlatform()) {
58
+ if (!fs.existsSync(candidate))
59
+ continue;
60
+ try {
61
+ cachedBinding = require(candidate);
62
+ return cachedBinding;
63
+ }
64
+ catch { }
65
+ }
66
+ cachedBinding = null;
67
+ return cachedBinding;
68
+ }
69
+ function resetNativeBindingForTests() {
70
+ cachedBinding = undefined;
71
+ }
72
+ function activeNativeBackendNotice() {
73
+ return loadNativeBinding()
74
+ ? "@trebired/code-discipline using native backend"
75
+ : "@trebired/code-discipline using TS fallback backend";
76
+ }
77
+ export { activeNativeBackendNotice, loadNativeBinding, nativeAddonCandidatePathsForCurrentPlatform, nativeBinaryBasenameForCurrentPlatform, resetNativeBindingForTests, };
78
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/native/native.ts"],"names":[],"mappings":"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"}
package/dist/run.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineRuleSlug, CodeDisciplineMode, CodeDisciplineRuntimeMode, FixableRuleSlug, FixCodeDisciplineResult } from "./checks/types.js";
2
+ import type { SourceScanObserver } from "./imports/types.js";
2
3
  import type { LoggingOptions } from "./shared/logging-types.js";
3
4
  type CodeDisciplineInvocationOptions = {
4
5
  projectRoot: string;
@@ -6,6 +7,7 @@ type CodeDisciplineInvocationOptions = {
6
7
  logging?: LoggingOptions;
7
8
  logger?: unknown;
8
9
  quiet?: boolean;
10
+ scanObserver?: SourceScanObserver;
9
11
  };
10
12
  type CodeDisciplineOptions = CheckCodeDisciplineOptions & {
11
13
  mode: CodeDisciplineRuntimeMode;