@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.
- package/CHANGELOG.md +20 -0
- package/README.md +49 -2
- package/dist/checks/fix-folderization.js +1 -1
- package/dist/checks/index.d.ts +1 -0
- package/dist/checks/index.d.ts.map +1 -1
- package/dist/checks/index.js +93 -70
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/rule-slugs.d.ts +3 -3
- package/dist/checks/rule-slugs.d.ts.map +1 -1
- package/dist/checks/rule-slugs.js +12 -8
- package/dist/checks/rule-slugs.js.map +1 -1
- package/dist/checks/rules/comments/ranges.d.ts +10 -0
- package/dist/checks/rules/comments/ranges.d.ts.map +1 -0
- package/dist/checks/rules/{comment-stripping.js → comments/ranges.js} +51 -107
- package/dist/checks/rules/comments/ranges.js.map +1 -0
- package/dist/checks/rules/{comment-stripping.d.ts → comments/stripping.d.ts} +3 -2
- package/dist/checks/rules/comments/stripping.d.ts.map +1 -0
- package/dist/checks/rules/comments/stripping.js +81 -0
- package/dist/checks/rules/comments/stripping.js.map +1 -0
- package/dist/checks/rules/dry/candidates.d.ts +8 -0
- package/dist/checks/rules/dry/candidates.d.ts.map +1 -0
- package/dist/checks/rules/dry/candidates.js +98 -0
- package/dist/checks/rules/dry/candidates.js.map +1 -0
- package/dist/checks/rules/dry/fingerprint.d.ts +15 -0
- package/dist/checks/rules/dry/fingerprint.d.ts.map +1 -0
- package/dist/checks/rules/dry/fingerprint.js +80 -0
- package/dist/checks/rules/dry/fingerprint.js.map +1 -0
- package/dist/checks/rules/dry/fix.d.ts +5 -0
- package/dist/checks/rules/dry/fix.d.ts.map +1 -0
- package/dist/checks/rules/dry/fix.js +252 -0
- package/dist/checks/rules/dry/fix.js.map +1 -0
- package/dist/checks/rules/dry/helpers.d.ts +5 -0
- package/dist/checks/rules/dry/helpers.d.ts.map +1 -0
- package/dist/checks/rules/dry/helpers.js +99 -0
- package/dist/checks/rules/dry/helpers.js.map +1 -0
- package/dist/checks/rules/dry/index.d.ts +7 -0
- package/dist/checks/rules/dry/index.d.ts.map +1 -0
- package/dist/checks/rules/dry/index.js +14 -0
- package/dist/checks/rules/dry/index.js.map +1 -0
- package/dist/checks/rules/dry/model.d.ts +37 -0
- package/dist/checks/rules/dry/model.d.ts.map +1 -0
- package/dist/checks/rules/dry/model.js +16 -0
- package/dist/checks/rules/dry/model.js.map +1 -0
- package/dist/checks/rules/dry/serialize/bindings.d.ts +8 -0
- package/dist/checks/rules/dry/serialize/bindings.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/bindings.js +62 -0
- package/dist/checks/rules/dry/serialize/bindings.js.map +1 -0
- package/dist/checks/rules/dry/serialize/context.d.ts +18 -0
- package/dist/checks/rules/dry/serialize/context.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/context.js +103 -0
- package/dist/checks/rules/dry/serialize/context.js.map +1 -0
- package/dist/checks/rules/dry/serialize/expressions.d.ts +10 -0
- package/dist/checks/rules/dry/serialize/expressions.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/expressions.js +161 -0
- package/dist/checks/rules/dry/serialize/expressions.js.map +1 -0
- package/dist/checks/rules/dry/serialize/node.d.ts +5 -0
- package/dist/checks/rules/dry/serialize/node.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/node.js +43 -0
- package/dist/checks/rules/dry/serialize/node.js.map +1 -0
- package/dist/checks/rules/dry/serialize/statements.d.ts +7 -0
- package/dist/checks/rules/dry/serialize/statements.d.ts.map +1 -0
- package/dist/checks/rules/dry/serialize/statements.js +99 -0
- package/dist/checks/rules/dry/serialize/statements.js.map +1 -0
- package/dist/checks/rules/evasion-guards/functions.d.ts +14 -0
- package/dist/checks/rules/evasion-guards/functions.d.ts.map +1 -0
- package/dist/checks/rules/evasion-guards/functions.js +83 -0
- package/dist/checks/rules/evasion-guards/functions.js.map +1 -0
- package/dist/checks/rules/evasion-guards/index.d.ts +6 -0
- package/dist/checks/rules/evasion-guards/index.d.ts.map +1 -0
- package/dist/checks/rules/evasion-guards/index.js +126 -0
- package/dist/checks/rules/evasion-guards/index.js.map +1 -0
- package/dist/checks/rules/evasion-guards/runtime.d.ts +6 -0
- package/dist/checks/rules/evasion-guards/runtime.d.ts.map +1 -0
- package/dist/checks/rules/evasion-guards/runtime.js +51 -0
- package/dist/checks/rules/evasion-guards/runtime.js.map +1 -0
- package/dist/checks/rules/evasion-guards/strip.d.ts +11 -0
- package/dist/checks/rules/evasion-guards/strip.d.ts.map +1 -0
- package/dist/checks/rules/evasion-guards/strip.js +89 -0
- package/dist/checks/rules/evasion-guards/strip.js.map +1 -0
- package/dist/checks/rules/folderize/compound-files.d.ts +6 -0
- package/dist/checks/rules/folderize/compound-files.d.ts.map +1 -0
- package/dist/checks/rules/{folderize-compound-files.js → folderize/compound-files.js} +10 -2
- package/dist/checks/rules/folderize/compound-files.js.map +1 -0
- package/dist/checks/rules/{folderize-plan.d.ts → folderize/plan.d.ts} +3 -3
- package/dist/checks/rules/folderize/plan.d.ts.map +1 -0
- package/dist/checks/rules/{folderize-plan.js → folderize/plan.js} +2 -2
- package/dist/checks/rules/folderize/plan.js.map +1 -0
- package/dist/checks/rules/max/file-lines.d.ts +6 -0
- package/dist/checks/rules/max/file-lines.d.ts.map +1 -0
- package/dist/checks/rules/{max-file-lines.js → max/file-lines.js} +9 -1
- package/dist/checks/rules/max/file-lines.js.map +1 -0
- package/dist/checks/rules/max/function-lines.d.ts +6 -0
- package/dist/checks/rules/max/function-lines.d.ts.map +1 -0
- package/dist/checks/rules/{max-function-lines.js → max/function-lines.js} +79 -61
- package/dist/checks/rules/max/function-lines.js.map +1 -0
- package/dist/checks/rules/remove-comments.d.ts.map +1 -1
- package/dist/checks/rules/remove-comments.js +10 -1
- package/dist/checks/rules/remove-comments.js.map +1 -1
- package/dist/checks/types.d.ts +25 -2
- package/dist/checks/types.d.ts.map +1 -1
- package/dist/cli/progress.d.ts +11 -0
- package/dist/cli/progress.d.ts.map +1 -0
- package/dist/cli/progress.js +65 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/run-cli.d.ts.map +1 -1
- package/dist/cli/run-cli.js +91 -66
- package/dist/cli/run-cli.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +68 -62
- package/dist/config/index.js.map +1 -1
- package/dist/config/{normalize-check-options.d.ts → normalize/check-options.d.ts} +2 -2
- package/dist/config/normalize/check-options.d.ts.map +1 -0
- package/dist/config/{normalize-check-options.js → normalize/check-options.js} +6 -5
- package/dist/config/normalize/check-options.js.map +1 -0
- package/dist/config/{normalize-rule-options.d.ts → normalize/rule-options.d.ts} +9 -8
- package/dist/config/normalize/rule-options.d.ts.map +1 -0
- package/dist/config/{normalize-rule-options.js → normalize/rule-options.js} +37 -4
- package/dist/config/normalize/rule-options.js.map +1 -0
- package/dist/config/{normalize-source-options.d.ts → normalize/source-options.d.ts} +4 -2
- package/dist/config/normalize/source-options.d.ts.map +1 -0
- package/dist/config/{normalize-source-options.js → normalize/source-options.js} +6 -5
- package/dist/config/normalize/source-options.js.map +1 -0
- package/dist/config/{normalize-sync-imports-options.d.ts → normalize/sync-imports-options.d.ts} +2 -2
- package/dist/config/normalize/sync-imports-options.d.ts.map +1 -0
- package/dist/config/{normalize-sync-imports-options.js → normalize/sync-imports-options.js} +5 -5
- package/dist/config/normalize/sync-imports-options.js.map +1 -0
- package/dist/imports/check-sync-imports.js +1 -1
- package/dist/imports/check-sync-imports.js.map +1 -1
- package/dist/imports/scan.d.ts.map +1 -1
- package/dist/imports/scan.js +127 -26
- package/dist/imports/scan.js.map +1 -1
- package/dist/imports/sync-imports.d.ts.map +1 -1
- package/dist/imports/sync-imports.js +59 -47
- package/dist/imports/sync-imports.js.map +1 -1
- package/dist/imports/types.d.ts +26 -1
- package/dist/imports/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/native/native.d.ts +18 -0
- package/dist/native/native.d.ts.map +1 -0
- package/dist/native/native.js +78 -0
- package/dist/native/native.js.map +1 -0
- package/dist/run.d.ts +2 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +4 -0
- package/dist/run.js.map +1 -1
- package/dist/runtime/{runtime-imports-sync.d.ts → imports-sync.d.ts} +1 -1
- package/dist/runtime/imports-sync.d.ts.map +1 -0
- package/dist/runtime/{runtime-imports-sync.js → imports-sync.js} +33 -21
- package/dist/runtime/imports-sync.js.map +1 -0
- package/dist/shared/discipline-types.d.ts +1 -1
- package/dist/shared/discipline-types.d.ts.map +1 -1
- package/dist/shared/logging.d.ts.map +1 -1
- package/dist/shared/logging.js +28 -13
- package/dist/shared/logging.js.map +1 -1
- package/dist/shared/utils.d.ts +4 -4
- package/dist/shared/utils.d.ts.map +1 -1
- package/dist/shared/utils.js +4 -4
- package/dist/shared/utils.js.map +1 -1
- package/native/darwin-arm64.node +0 -0
- package/native/darwin-x64.node +0 -0
- package/native/linux-arm64-gnu.node +0 -0
- package/native/linux-x64-gnu.node +0 -0
- package/package.json +11 -4
- package/dist/checks/rules/comment-stripping.d.ts.map +0 -1
- package/dist/checks/rules/comment-stripping.js.map +0 -1
- package/dist/checks/rules/dry.d.ts +0 -7
- package/dist/checks/rules/dry.d.ts.map +0 -1
- package/dist/checks/rules/dry.js +0 -905
- package/dist/checks/rules/dry.js.map +0 -1
- package/dist/checks/rules/folderize-compound-files.d.ts +0 -6
- package/dist/checks/rules/folderize-compound-files.d.ts.map +0 -1
- package/dist/checks/rules/folderize-compound-files.js.map +0 -1
- package/dist/checks/rules/folderize-plan.d.ts.map +0 -1
- package/dist/checks/rules/folderize-plan.js.map +0 -1
- package/dist/checks/rules/max-file-lines.d.ts +0 -6
- package/dist/checks/rules/max-file-lines.d.ts.map +0 -1
- package/dist/checks/rules/max-file-lines.js.map +0 -1
- package/dist/checks/rules/max-function-lines.d.ts +0 -6
- package/dist/checks/rules/max-function-lines.d.ts.map +0 -1
- package/dist/checks/rules/max-function-lines.js.map +0 -1
- package/dist/config/normalize-check-options.d.ts.map +0 -1
- package/dist/config/normalize-check-options.js.map +0 -1
- package/dist/config/normalize-rule-options.d.ts.map +0 -1
- package/dist/config/normalize-rule-options.js.map +0 -1
- package/dist/config/normalize-source-options.d.ts.map +0 -1
- package/dist/config/normalize-source-options.js.map +0 -1
- package/dist/config/normalize-sync-imports-options.d.ts.map +0 -1
- package/dist/config/normalize-sync-imports-options.js.map +0 -1
- package/dist/runtime/runtime-imports-sync.d.ts.map +0 -1
- package/dist/runtime/runtime-imports-sync.js.map +0 -1
package/dist/imports/scan.js
CHANGED
|
@@ -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 {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
|
19
|
-
const entries = await fs.readdir(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
|
56
|
+
if (excludeMatcher.shouldExcludeDirectory(relativePath, projectRelativePath, entry.name))
|
|
27
57
|
continue;
|
|
28
|
-
|
|
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 (!
|
|
64
|
+
if (!extensionSet.has(extension))
|
|
35
65
|
continue;
|
|
36
|
-
|
|
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
|
|
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
|
-
|
|
47
|
-
|
|
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
|
package/dist/imports/scan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/imports/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
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;
|
|
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
|
|
2
|
-
import { syncPackageJsonImportsFromTsconfigPaths } from "../runtime/
|
|
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
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,uCAAuC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sync-imports.js","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"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"}
|
package/dist/imports/types.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/imports/types.ts"],"names":[],"mappings":"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"}
|
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
|
|
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/
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","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,
|
|
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
|
|
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/
|
|
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,
|
|
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;
|