@trebired/code-discipline 2.1.0 → 2.2.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 +14 -0
- package/README.md +64 -8
- package/dist/checks/fix-folderization.d.ts.map +1 -1
- package/dist/checks/fix-folderization.js +4 -16
- package/dist/checks/fix-folderization.js.map +1 -1
- package/dist/checks/index.d.ts +4 -2
- package/dist/checks/index.d.ts.map +1 -1
- package/dist/checks/index.js +36 -8
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/rules/dry.d.ts.map +1 -1
- package/dist/checks/rules/dry.js +7 -15
- package/dist/checks/rules/dry.js.map +1 -1
- package/dist/checks/rules/folderize-compound-files.js +1 -1
- package/dist/checks/rules/folderize-compound-files.js.map +1 -1
- package/dist/checks/rules/folderize-plan.d.ts.map +1 -1
- package/dist/checks/rules/folderize-plan.js +3 -0
- package/dist/checks/rules/folderize-plan.js.map +1 -1
- package/dist/checks/rules/max-function-lines.d.ts.map +1 -1
- package/dist/checks/rules/max-function-lines.js +120 -3
- package/dist/checks/rules/max-function-lines.js.map +1 -1
- package/dist/checks/types.d.ts +5 -7
- package/dist/checks/types.d.ts.map +1 -1
- package/dist/cli/run-cli.d.ts +1 -0
- package/dist/cli/run-cli.d.ts.map +1 -1
- package/dist/cli/run-cli.js +65 -15
- package/dist/cli/run-cli.js.map +1 -1
- package/dist/config/normalize-rule-options.d.ts +3 -3
- package/dist/config/normalize-rule-options.d.ts.map +1 -1
- package/dist/config/normalize-rule-options.js +11 -6
- package/dist/config/normalize-rule-options.js.map +1 -1
- package/dist/config/normalize-source-options.d.ts +6 -1
- package/dist/config/normalize-source-options.d.ts.map +1 -1
- package/dist/config/normalize-source-options.js +20 -2
- package/dist/config/normalize-source-options.js.map +1 -1
- package/dist/imports/check-sync-imports.d.ts.map +1 -1
- package/dist/imports/check-sync-imports.js +7 -5
- package/dist/imports/check-sync-imports.js.map +1 -1
- package/dist/imports/module-specifiers.d.ts.map +1 -1
- package/dist/imports/module-specifiers.js +5 -1
- package/dist/imports/module-specifiers.js.map +1 -1
- package/dist/imports/resolve.d.ts +2 -1
- package/dist/imports/resolve.d.ts.map +1 -1
- package/dist/imports/resolve.js.map +1 -1
- package/dist/imports/scan.d.ts.map +1 -1
- package/dist/imports/scan.js +8 -2
- package/dist/imports/scan.js.map +1 -1
- package/dist/imports/sync-imports.d.ts +2 -2
- package/dist/imports/sync-imports.d.ts.map +1 -1
- package/dist/imports/sync-imports.js +8 -2
- package/dist/imports/sync-imports.js.map +1 -1
- package/dist/imports/types.d.ts +10 -2
- package/dist/imports/types.d.ts.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +4 -0
- package/dist/run.js.map +1 -1
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +1 -1
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/gitignore.d.ts +3 -0
- package/dist/shared/gitignore.d.ts.map +1 -0
- package/dist/shared/gitignore.js +69 -0
- package/dist/shared/gitignore.js.map +1 -0
- package/dist/shared/languages.d.ts +8 -0
- package/dist/shared/languages.d.ts.map +1 -0
- package/dist/shared/languages.js +36 -0
- package/dist/shared/languages.js.map +1 -0
- package/package.json +1 -1
package/dist/cli/run-cli.js
CHANGED
|
@@ -1,14 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
2
4
|
import { codeDiscipline } from "../run.js";
|
|
3
5
|
import { loadResolvedCodeDisciplineConfig } from "../config/index.js";
|
|
4
6
|
import { isDirectExecution } from "../shared/utils.js";
|
|
7
|
+
function padDatePart(value) {
|
|
8
|
+
return String(value).padStart(2, "0");
|
|
9
|
+
}
|
|
10
|
+
function createSavedReportFilename(now) {
|
|
11
|
+
const year = now.getFullYear();
|
|
12
|
+
const month = padDatePart(now.getMonth() + 1);
|
|
13
|
+
const day = padDatePart(now.getDate());
|
|
14
|
+
const hours = padDatePart(now.getHours());
|
|
15
|
+
const minutes = padDatePart(now.getMinutes());
|
|
16
|
+
const seconds = padDatePart(now.getSeconds());
|
|
17
|
+
return `cd-report-${year}-${month}-${day}-${hours}-${minutes}-${seconds}.txt`;
|
|
18
|
+
}
|
|
5
19
|
function renderHelp() {
|
|
6
20
|
return [
|
|
7
|
-
"Usage: code-discipline <command> [rule-slug...] [--config <path>]",
|
|
21
|
+
"Usage: code-discipline <command> [rule-slug...] [save] [--config <path>]",
|
|
8
22
|
"",
|
|
9
23
|
"Commands:",
|
|
10
24
|
" check run read-only discipline validation",
|
|
11
25
|
" fix apply configured discipline fixes",
|
|
26
|
+
" save optional token that writes the run output to a timestamped cd-report-YYYY-MM-DD-HH-mm-ss.txt file",
|
|
12
27
|
"",
|
|
13
28
|
"Rule Selectors:",
|
|
14
29
|
" check <rule-slug>... narrows validation to the selected configured rules",
|
|
@@ -22,6 +37,7 @@ function renderHelp() {
|
|
|
22
37
|
}
|
|
23
38
|
function parseArgs(args) {
|
|
24
39
|
let configPath;
|
|
40
|
+
let saveOutput = false;
|
|
25
41
|
const selectors = [];
|
|
26
42
|
for (let index = 0; index < args.length; index += 1) {
|
|
27
43
|
const arg = args[index];
|
|
@@ -35,18 +51,48 @@ function parseArgs(args) {
|
|
|
35
51
|
continue;
|
|
36
52
|
}
|
|
37
53
|
if (arg.startsWith("--")) {
|
|
54
|
+
if (arg === "--save") {
|
|
55
|
+
saveOutput = true;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
38
58
|
throw new Error(`Unexpected argument: ${arg}`);
|
|
39
59
|
}
|
|
60
|
+
if (arg === "save") {
|
|
61
|
+
saveOutput = true;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
40
64
|
selectors.push(arg);
|
|
41
65
|
}
|
|
42
|
-
return { configPath, selectors };
|
|
66
|
+
return { configPath, saveOutput, selectors };
|
|
43
67
|
}
|
|
44
68
|
function formatViolation(violation) {
|
|
45
69
|
const suggested = violation.suggestedPath ? ` suggested=${violation.suggestedPath}` : "";
|
|
46
70
|
return `${violation.rule} ${violation.filePath} ${violation.message}${suggested}`;
|
|
47
71
|
}
|
|
72
|
+
function renderCheckOutput(violations, violationCount) {
|
|
73
|
+
if (violations.length === 0) {
|
|
74
|
+
return "No discipline violations found.\n";
|
|
75
|
+
}
|
|
76
|
+
return [
|
|
77
|
+
...violations.map((violation) => `${formatViolation(violation)}\n`),
|
|
78
|
+
`Found ${violationCount} discipline violation(s).\n`,
|
|
79
|
+
].join("");
|
|
80
|
+
}
|
|
81
|
+
function renderFixOutput(args) {
|
|
82
|
+
return [
|
|
83
|
+
...args.violations.map((violation) => `${formatViolation(violation)}\n`),
|
|
84
|
+
`Fix summary: moved ${args.movedFiles}, rewritten files ${args.rewrittenFiles}, rewritten imports ${args.rewrittenImports}, remaining violations ${args.violationCount}.\n`,
|
|
85
|
+
].join("");
|
|
86
|
+
}
|
|
87
|
+
async function saveCliOutput(cwd, reportText, now) {
|
|
88
|
+
const reportFilename = createSavedReportFilename(now);
|
|
89
|
+
const reportPath = path.join(cwd, reportFilename);
|
|
90
|
+
await fs.writeFile(reportPath, reportText, "utf8");
|
|
91
|
+
return reportFilename;
|
|
92
|
+
}
|
|
48
93
|
async function runCli(argv, options = {}) {
|
|
49
94
|
const cwd = options.cwd ?? process.cwd();
|
|
95
|
+
const now = options.now ?? new Date();
|
|
50
96
|
const stdout = options.stdout ?? ((text) => process.stdout.write(text));
|
|
51
97
|
const stderr = options.stderr ?? ((text) => process.stderr.write(text));
|
|
52
98
|
const [command, ...rest] = argv;
|
|
@@ -65,15 +111,13 @@ async function runCli(argv, options = {}) {
|
|
|
65
111
|
onlyRules: parsed.selectors,
|
|
66
112
|
projectRoot: cwd,
|
|
67
113
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
114
|
+
const reportText = renderCheckOutput(result.violations, result.violationCount);
|
|
115
|
+
stdout(reportText);
|
|
116
|
+
if (parsed.saveOutput) {
|
|
117
|
+
const reportFilename = await saveCliOutput(cwd, reportText, now);
|
|
118
|
+
stdout(`Saved report to ${reportFilename}.\n`);
|
|
71
119
|
}
|
|
72
|
-
|
|
73
|
-
stdout(`${formatViolation(violation)}\n`);
|
|
74
|
-
}
|
|
75
|
-
stdout(`Found ${result.violationCount} discipline violation(s).\n`);
|
|
76
|
-
return { exitCode: 1 };
|
|
120
|
+
return { exitCode: result.ok ? 0 : 1 };
|
|
77
121
|
}
|
|
78
122
|
if (command === "fix") {
|
|
79
123
|
const result = await codeDiscipline({
|
|
@@ -83,12 +127,18 @@ async function runCli(argv, options = {}) {
|
|
|
83
127
|
onlyRules: parsed.selectors,
|
|
84
128
|
projectRoot: cwd,
|
|
85
129
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
130
|
+
const reportText = renderFixOutput({
|
|
131
|
+
movedFiles: result.moved_files,
|
|
132
|
+
rewrittenFiles: result.rewritten_files,
|
|
133
|
+
rewrittenImports: result.rewritten_imports,
|
|
134
|
+
violationCount: result.violationCount,
|
|
135
|
+
violations: result.violations,
|
|
136
|
+
});
|
|
137
|
+
stdout(reportText);
|
|
138
|
+
if (parsed.saveOutput) {
|
|
139
|
+
const reportFilename = await saveCliOutput(cwd, reportText, now);
|
|
140
|
+
stdout(`Saved report to ${reportFilename}.\n`);
|
|
90
141
|
}
|
|
91
|
-
stdout(`Fix summary: moved ${result.moved_files}, rewritten files ${result.rewritten_files}, rewritten imports ${result.rewritten_imports}, remaining violations ${result.violationCount}.\n`);
|
|
92
142
|
return { exitCode: result.ok ? 0 : 1 };
|
|
93
143
|
}
|
|
94
144
|
stderr(`Unknown command: ${command}\n`);
|
package/dist/cli/run-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-cli.js","sourceRoot":"","sources":["../../src/cli/run-cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-cli.js","sourceRoot":"","sources":["../../src/cli/run-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,15 @@ declare function normalizeMaxFunctionLinesRule(rule: MaxFunctionLinesRuleOptions
|
|
|
6
6
|
max: number;
|
|
7
7
|
};
|
|
8
8
|
declare function normalizeFolderizeCompoundFilesRule(rule: FolderizeCompoundFilesRuleOptions | undefined): {
|
|
9
|
-
fix: boolean;
|
|
10
9
|
separators: string[];
|
|
11
10
|
};
|
|
12
11
|
declare function normalizeSyncImportsRule(rule: CodeDisciplineSyncImportsRuleOptions | undefined): {
|
|
13
|
-
fix: boolean;
|
|
14
12
|
sourceRoot: string;
|
|
15
13
|
tsconfigPath: string;
|
|
16
14
|
sourceExtensions: string[];
|
|
17
|
-
|
|
15
|
+
includeDefaultSourceExtensions: boolean;
|
|
16
|
+
excludeDirs: import("../imports/types.js").ExcludeDirsOptions;
|
|
17
|
+
gitignorePath: string;
|
|
18
18
|
alias: {
|
|
19
19
|
prefix?: string;
|
|
20
20
|
strategy?: "random" | "relative-path-hash" | "relative-path-slug" | import("../index.js").AliasStrategyFn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-rule-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-rule-options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"normalize-rule-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-rule-options.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oCAAoC,EACpC,cAAc,EACd,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAsB5B,iBAAS,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,SAAS;;EAgB3E;AAED,iBAAS,6BAA6B,CAAC,IAAI,EAAE,2BAA2B,GAAG,SAAS;;EAgBnF;AAED,iBAAS,mCAAmC,CAAC,IAAI,EAAE,iCAAiC,GAAG,SAAS;;EAgB/F;AAED,iBAAS,wBAAwB,CAAC,IAAI,EAAE,oCAAoC,GAAG,SAAS;;;;;;;;;;;;;;;EAgCvF;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAwCzF;AAMD,OAAO,EAAE,gBAAgB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_ALLOW_RELATIVE, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS,
|
|
1
|
+
import { DEFAULT_ALLOW_RELATIVE, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, } from "../shared/constants.js";
|
|
2
2
|
import { InvalidCodeDisciplineConfigError } from "../shared/errors.js";
|
|
3
3
|
function assertRemovedKeys(ruleName, source, keys) {
|
|
4
4
|
for (const key of keys) {
|
|
@@ -54,7 +54,7 @@ function normalizeFolderizeCompoundFilesRule(rule) {
|
|
|
54
54
|
if (!rule)
|
|
55
55
|
return undefined;
|
|
56
56
|
const source = rule;
|
|
57
|
-
assertRemovedKeys("folderizeCompoundFiles", source, ["enabled", "stop", "suffixes"]);
|
|
57
|
+
assertRemovedKeys("folderizeCompoundFiles", source, ["enabled", "stop", "suffixes", "fix"]);
|
|
58
58
|
assertSeverityRemoved("folderizeCompoundFiles", source);
|
|
59
59
|
const separators = uniqueStrings(rule?.separators ?? DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS);
|
|
60
60
|
if (separators.length === 0) {
|
|
@@ -63,7 +63,6 @@ function normalizeFolderizeCompoundFilesRule(rule) {
|
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
return {
|
|
66
|
-
fix: Boolean(rule.fix ?? DEFAULT_RULE_FIX),
|
|
67
66
|
separators,
|
|
68
67
|
};
|
|
69
68
|
}
|
|
@@ -79,12 +78,19 @@ function normalizeSyncImportsRule(rule) {
|
|
|
79
78
|
key: "imports",
|
|
80
79
|
});
|
|
81
80
|
}
|
|
81
|
+
if ("fix" in source) {
|
|
82
|
+
throw new InvalidCodeDisciplineConfigError("syncImports.fix is no longer supported in discipline config; use the fix command instead", {
|
|
83
|
+
rule: "syncImports",
|
|
84
|
+
key: "fix",
|
|
85
|
+
});
|
|
86
|
+
}
|
|
82
87
|
return {
|
|
83
|
-
fix: Boolean(rule?.fix ?? DEFAULT_RULE_FIX),
|
|
84
88
|
sourceRoot: rule?.sourceRoot,
|
|
85
89
|
tsconfigPath: rule?.tsconfigPath,
|
|
86
90
|
sourceExtensions: rule?.sourceExtensions,
|
|
91
|
+
includeDefaultSourceExtensions: rule?.includeDefaultSourceExtensions,
|
|
87
92
|
excludeDirs: rule?.excludeDirs,
|
|
93
|
+
gitignorePath: rule?.gitignorePath,
|
|
88
94
|
alias: rule?.alias,
|
|
89
95
|
allowRelative: rule?.allowRelative ?? DEFAULT_ALLOW_RELATIVE,
|
|
90
96
|
packageJsonImports: rule?.packageJsonImports,
|
|
@@ -95,7 +101,7 @@ function normalizeDryRule(rule) {
|
|
|
95
101
|
if (!rule)
|
|
96
102
|
return undefined;
|
|
97
103
|
const source = rule;
|
|
98
|
-
assertRemovedKeys("dry", source, ["enabled", "stop"]);
|
|
104
|
+
assertRemovedKeys("dry", source, ["enabled", "stop", "fix"]);
|
|
99
105
|
assertSeverityRemoved("dry", source);
|
|
100
106
|
if (!Array.isArray(rule.helpers) || rule.helpers.length === 0) {
|
|
101
107
|
throw new InvalidCodeDisciplineConfigError("dry.helpers must contain at least one helper", {
|
|
@@ -124,7 +130,6 @@ function normalizeDryRule(rule) {
|
|
|
124
130
|
};
|
|
125
131
|
});
|
|
126
132
|
return {
|
|
127
|
-
fix: Boolean(rule.fix ?? DEFAULT_RULE_FIX),
|
|
128
133
|
helpers,
|
|
129
134
|
};
|
|
130
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-rule-options.js","sourceRoot":"","sources":["../../src/config/normalize-rule-options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,0CAA0C,
|
|
1
|
+
{"version":3,"file":"normalize-rule-options.js","sourceRoot":"","sources":["../../src/config/normalize-rule-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
+
import type { ExcludeDirsOptions } from "../imports/types.js";
|
|
1
2
|
type NormalizedSourceOptions = {
|
|
2
3
|
projectRoot: string;
|
|
3
4
|
sourceRoot: string;
|
|
4
5
|
sourceRootRelative: string;
|
|
5
6
|
sourceExtensions: string[];
|
|
6
7
|
excludeDirs: string[];
|
|
8
|
+
excludeGitignoreDirs: boolean;
|
|
9
|
+
gitignorePath: string;
|
|
7
10
|
};
|
|
8
11
|
declare function normalizeSourceOptions(options: {
|
|
9
12
|
projectRoot: string;
|
|
10
13
|
sourceRoot?: string;
|
|
11
14
|
sourceExtensions?: string[];
|
|
12
|
-
|
|
15
|
+
includeDefaultSourceExtensions?: boolean;
|
|
16
|
+
excludeDirs?: ExcludeDirsOptions;
|
|
17
|
+
gitignorePath?: string;
|
|
13
18
|
}): Promise<NormalizedSourceOptions>;
|
|
14
19
|
export { normalizeSourceOptions };
|
|
15
20
|
export type { NormalizedSourceOptions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-source-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-source-options.ts"],"names":[],"mappings":"AAMA,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,iBAAe,sBAAsB,CAAC,OAAO,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"normalize-source-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-source-options.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,iBAAe,sBAAsB,CAAC,OAAO,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqCnC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { DEFAULT_EXCLUDE_DIRS, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT } from "../shared/constants.js";
|
|
3
|
+
import { readGitignoreExcludedDirs } from "../shared/gitignore.js";
|
|
3
4
|
import { InvalidProjectRootError, InvalidSourceRootError } from "../shared/errors.js";
|
|
4
5
|
import { ensureDotExtension, isDirectory, isInsideDirectory, normalizeRelativePath, uniqueStrings } from "../shared/utils.js";
|
|
5
6
|
async function normalizeSourceOptions(options) {
|
|
@@ -12,12 +13,29 @@ async function normalizeSourceOptions(options) {
|
|
|
12
13
|
if (!await isDirectory(sourceRoot) || !isInsideDirectory(sourceRoot, projectRoot)) {
|
|
13
14
|
throw new InvalidSourceRootError(sourceRoot);
|
|
14
15
|
}
|
|
16
|
+
const excludeGitignoreDirs = options.excludeDirs?.gitignore === true;
|
|
17
|
+
const gitignoreInput = options.gitignorePath ?? path.join(projectRoot, ".gitignore");
|
|
18
|
+
const gitignorePath = path.isAbsolute(gitignoreInput) ? path.resolve(gitignoreInput) : path.resolve(projectRoot, gitignoreInput);
|
|
19
|
+
const gitignoreDirs = excludeGitignoreDirs
|
|
20
|
+
? await readGitignoreExcludedDirs(projectRoot, gitignorePath)
|
|
21
|
+
: [];
|
|
22
|
+
const sourceExtensions = uniqueStrings([
|
|
23
|
+
...(options.includeDefaultSourceExtensions === false ? [] : DEFAULT_SOURCE_EXTENSIONS),
|
|
24
|
+
...((options.sourceExtensions ?? []).map(ensureDotExtension)),
|
|
25
|
+
]);
|
|
26
|
+
const excludeDirs = uniqueStrings([
|
|
27
|
+
...DEFAULT_EXCLUDE_DIRS,
|
|
28
|
+
...(options.excludeDirs?.dirs ?? []),
|
|
29
|
+
...gitignoreDirs,
|
|
30
|
+
]);
|
|
15
31
|
return {
|
|
16
32
|
projectRoot,
|
|
17
33
|
sourceRoot,
|
|
18
34
|
sourceRootRelative: normalizeRelativePath(path.relative(projectRoot, sourceRoot)),
|
|
19
|
-
sourceExtensions
|
|
20
|
-
excludeDirs
|
|
35
|
+
sourceExtensions,
|
|
36
|
+
excludeDirs,
|
|
37
|
+
excludeGitignoreDirs,
|
|
38
|
+
gitignorePath,
|
|
21
39
|
};
|
|
22
40
|
}
|
|
23
41
|
export { normalizeSourceOptions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-source-options.js","sourceRoot":"","sources":["../../src/config/normalize-source-options.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize-source-options.js","sourceRoot":"","sources":["../../src/config/normalize-source-options.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAa9H,KAAK,UAAU,sBAAsB,CAAC,OAOrC;IACC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACjI,IAAI,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,CAAC;IACrE,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACjI,MAAM,aAAa,GAAG,oBAAoB;QACxC,CAAC,CAAC,MAAM,yBAAyB,CAAC,WAAW,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,gBAAgB,GAAG,aAAa,CAAC;QACrC,GAAG,CAAC,OAAO,CAAC,8BAA8B,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC;QACtF,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;KAC9D,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,aAAa,CAAC;QAChC,GAAG,oBAAoB;QACvB,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;QACpC,GAAG,aAAa;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,WAAW;QACX,UAAU;QACV,kBAAkB,EAAE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjF,gBAAgB;QAChB,WAAW;QACX,oBAAoB;QACpB,aAAa;KACd,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-sync-imports.d.ts","sourceRoot":"","sources":["../../src/imports/check-sync-imports.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"check-sync-imports.d.ts","sourceRoot":"","sources":["../../src/imports/check-sync-imports.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAO7E,OAAO,KAAK,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAElF,iBAAe,2BAA2B,CACxC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,4BAA4B,EACrC,MAAM,CAAC,EAAE,8BAA8B,GACtC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAkEpC;AAED,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { collectPackageJsonImportsSyncState } from "../runtime/runtime-imports-sync.js";
|
|
4
|
+
import { supportsSyncImports } from "../shared/languages.js";
|
|
4
5
|
import { planTsconfigAliases } from "./aliases.js";
|
|
5
6
|
import { collectModuleSpecifiers } from "./module-specifiers.js";
|
|
6
7
|
import { resolveRelativeImport } from "./resolve.js";
|
|
7
8
|
import { isAllowedRelative } from "./rewrite.js";
|
|
8
9
|
async function collectSyncImportViolations(sourceFiles, options, logger) {
|
|
9
|
-
const
|
|
10
|
+
const supportedSourceFiles = sourceFiles.filter((file) => supportsSyncImports(file.extension));
|
|
11
|
+
const aliasPlan = await planTsconfigAliases(options, supportedSourceFiles, logger);
|
|
10
12
|
const aliasIdsByFilePath = new Map(aliasPlan.aliasRecords.map((record) => [record.absolutePath, record.id]));
|
|
11
13
|
const violations = [];
|
|
12
14
|
if (aliasPlan.aliasesChanged) {
|
|
13
15
|
violations.push({
|
|
14
16
|
rule: "sync-imports",
|
|
15
|
-
fix:
|
|
17
|
+
fix: true,
|
|
16
18
|
filePath: path.relative(options.projectRoot, options.tsconfigPath) || "tsconfig.json",
|
|
17
19
|
message: "tsconfig paths are out of sync with the current source tree",
|
|
18
20
|
details: {
|
|
@@ -29,7 +31,7 @@ async function collectSyncImportViolations(sourceFiles, options, logger) {
|
|
|
29
31
|
if (packageJsonSyncState?.changed) {
|
|
30
32
|
violations.push({
|
|
31
33
|
rule: "sync-imports",
|
|
32
|
-
fix:
|
|
34
|
+
fix: true,
|
|
33
35
|
filePath: path.relative(options.projectRoot, packageJsonSyncState.packageJsonPath) || "package.json",
|
|
34
36
|
message: "package.json imports are out of sync with tsconfig paths",
|
|
35
37
|
details: {
|
|
@@ -37,7 +39,7 @@ async function collectSyncImportViolations(sourceFiles, options, logger) {
|
|
|
37
39
|
},
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
|
-
for (const file of
|
|
42
|
+
for (const file of supportedSourceFiles) {
|
|
41
43
|
const text = await fs.readFile(file.absolutePath, "utf8");
|
|
42
44
|
for (const occurrence of collectModuleSpecifiers(text, file.absolutePath)) {
|
|
43
45
|
if (!occurrence.specifier.startsWith("."))
|
|
@@ -52,7 +54,7 @@ async function collectSyncImportViolations(sourceFiles, options, logger) {
|
|
|
52
54
|
continue;
|
|
53
55
|
violations.push({
|
|
54
56
|
rule: "sync-imports",
|
|
55
|
-
fix:
|
|
57
|
+
fix: true,
|
|
56
58
|
filePath: file.relativeFromProjectRoot,
|
|
57
59
|
message: `relative import ${occurrence.specifier} should be rewritten to ${aliasId}`,
|
|
58
60
|
details: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-sync-imports.js","sourceRoot":"","sources":["../../src/imports/check-sync-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,KAAK,UAAU,2BAA2B,CACxC,WAAgC,EAChC,OAAqC,EACrC,MAAuC;IAEvC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"check-sync-imports.js","sourceRoot":"","sources":["../../src/imports/check-sync-imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-specifiers.d.ts","sourceRoot":"","sources":["../../src/imports/module-specifiers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAK5B,KAAK,yBAAyB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;
|
|
1
|
+
{"version":3,"file":"module-specifiers.d.ts","sourceRoot":"","sources":["../../src/imports/module-specifiers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAK5B,KAAK,yBAAyB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAYF,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAYlE;AAED,iBAAS,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,yBAAyB,EAAE,CAoC5F;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgB7G;AAED,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC;AACvE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -8,8 +8,12 @@ function resolveScriptKind(filePath) {
|
|
|
8
8
|
return ts.ScriptKind.TSX;
|
|
9
9
|
if (extension === ".jsx")
|
|
10
10
|
return ts.ScriptKind.JSX;
|
|
11
|
-
if (extension === ".js")
|
|
11
|
+
if (extension === ".js" || extension === ".mjs" || extension === ".cjs")
|
|
12
12
|
return ts.ScriptKind.JS;
|
|
13
|
+
if (extension === ".mts")
|
|
14
|
+
return ts.ScriptKind.TS;
|
|
15
|
+
if (extension === ".cts")
|
|
16
|
+
return ts.ScriptKind.TS;
|
|
13
17
|
return ts.ScriptKind.TS;
|
|
14
18
|
}
|
|
15
19
|
function parseSource(text, filePath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-specifiers.js","sourceRoot":"","sources":["../../src/imports/module-specifiers.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAcvD,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;IACnD,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;IACnD,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"module-specifiers.js","sourceRoot":"","sources":["../../src/imports/module-specifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { NormalizedSyncImportsOptions } from "./types.js";
|
|
2
|
+
type ResolveRelativeImportOptions = Pick<NormalizedSyncImportsOptions, "sourceExtensions" | "sourceRoot">;
|
|
2
3
|
declare function isRelativeImportSpecifier(specifier: string): boolean;
|
|
3
4
|
declare function buildFileCandidates(candidatePath: string, sourceExtensions: string[]): string[];
|
|
4
5
|
declare function resolveFileCandidate(candidatePath: string, sourceExtensions: string[]): Promise<string | null>;
|
|
5
6
|
declare function resolveProjectPathTarget(targetPath: string, sourceExtensions: string[]): Promise<string | null>;
|
|
6
|
-
declare function resolveRelativeImport(specifier: string, sourceFile: string, options:
|
|
7
|
+
declare function resolveRelativeImport(specifier: string, sourceFile: string, options: ResolveRelativeImportOptions): Promise<string | null>;
|
|
7
8
|
export { buildFileCandidates, isRelativeImportSpecifier, resolveFileCandidate, resolveProjectPathTarget, resolveRelativeImport };
|
|
8
9
|
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/imports/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/imports/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAG/D,KAAK,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,EAAE,kBAAkB,GAAG,YAAY,CAAC,CAAC;AAI1G,iBAAS,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAQD,iBAAS,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAiBxF;AAED,iBAAe,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkB7G;AAED,iBAAe,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE9G;AAED,iBAAe,qBAAqB,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAED,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/imports/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/imports/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAIvD,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9E,SAAS,yBAAyB,CAAC,SAAiB;IAClD,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAoB,EAAE,aAAqB;IACtE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,aAAqB,EAAE,gBAA0B;IAC5E,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAE/C,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,IAAI,4BAA4B,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtE,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACzC,mBAAmB,CAAC,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,mBAAmB,CAAC,UAAU,EAAE,GAAG,aAAa,GAAG,SAAS,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,aAAqB,EAAE,gBAA0B;IACnF,KAAK,MAAM,QAAQ,IAAI,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,QAAQ,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,SAAS,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,SAAS,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,UAAkB,EAAE,gBAA0B;IACpF,OAAO,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,SAAiB,EACjB,UAAkB,EAClB,OAAqC;IAErC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAElE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/imports/scan.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/imports/scan.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoDvE,iBAAe,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAIvF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/imports/scan.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { normalizeRelativePath, toPosixPath } from "../shared/utils.js";
|
|
4
|
-
function shouldExcludeDirectory(relativeDir, directoryName, excludeDirs) {
|
|
4
|
+
function shouldExcludeDirectory(relativeDir, projectRelativeDir, directoryName, excludeDirs) {
|
|
5
5
|
const normalizedRelativeDir = normalizeRelativePath(relativeDir);
|
|
6
|
+
const normalizedProjectRelativeDir = normalizeRelativePath(projectRelativeDir);
|
|
6
7
|
return excludeDirs.some((entry) => {
|
|
7
8
|
const normalizedEntry = normalizeRelativePath(entry);
|
|
8
9
|
return directoryName === normalizedEntry
|
|
9
10
|
|| normalizedRelativeDir === normalizedEntry
|
|
10
11
|
|| normalizedRelativeDir.startsWith(`${normalizedEntry}/`);
|
|
12
|
+
}) || excludeDirs.some((entry) => {
|
|
13
|
+
const normalizedEntry = normalizeRelativePath(entry);
|
|
14
|
+
return normalizedProjectRelativeDir === normalizedEntry
|
|
15
|
+
|| normalizedProjectRelativeDir.startsWith(`${normalizedEntry}/`);
|
|
11
16
|
});
|
|
12
17
|
}
|
|
13
18
|
async function walkDirectory(directoryPath, relativeDir, options, rows) {
|
|
@@ -16,8 +21,9 @@ async function walkDirectory(directoryPath, relativeDir, options, rows) {
|
|
|
16
21
|
for (const entry of sortedEntries) {
|
|
17
22
|
const absolutePath = path.join(directoryPath, entry.name);
|
|
18
23
|
const relativePath = normalizeRelativePath(path.join(relativeDir, entry.name));
|
|
24
|
+
const projectRelativePath = normalizeRelativePath(path.relative(options.projectRoot, absolutePath));
|
|
19
25
|
if (entry.isDirectory()) {
|
|
20
|
-
if (shouldExcludeDirectory(relativePath, entry.name, options.excludeDirs))
|
|
26
|
+
if (shouldExcludeDirectory(relativePath, projectRelativePath, entry.name, options.excludeDirs))
|
|
21
27
|
continue;
|
|
22
28
|
await walkDirectory(absolutePath, relativePath, options, rows);
|
|
23
29
|
continue;
|
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;AAG7B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAExE,SAAS,sBAAsB,CAAC,WAAmB,EAAE,aAAqB,EAAE,WAAqB;
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/imports/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SyncImportsOptions, SyncImportsResult } from "./types.js";
|
|
2
|
-
declare function syncImports(options: SyncImportsOptions): Promise<SyncImportsResult>;
|
|
1
|
+
import type { NormalizedSyncImportsOptions, SyncImportsOptions, SyncImportsResult } from "./types.js";
|
|
2
|
+
declare function syncImports(options: SyncImportsOptions | NormalizedSyncImportsOptions): Promise<SyncImportsResult>;
|
|
3
3
|
export { syncImports };
|
|
4
4
|
//# sourceMappingURL=sync-imports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-imports.d.ts","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"
|
|
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,6 +1,7 @@
|
|
|
1
1
|
import { normalizeSyncImportsOptions } from "../config/normalize-sync-imports-options.js";
|
|
2
2
|
import { syncPackageJsonImportsFromTsconfigPaths } from "../runtime/runtime-imports-sync.js";
|
|
3
3
|
import { resolveLogger } from "../shared/logging.js";
|
|
4
|
+
import { supportsSyncImports } from "../shared/languages.js";
|
|
4
5
|
import { planTsconfigAliases, syncTsconfigAliases } from "./aliases.js";
|
|
5
6
|
import { collectSyncImportViolations } from "./check-sync-imports.js";
|
|
6
7
|
import { rewriteSourceImports } from "./rewrite.js";
|
|
@@ -12,8 +13,13 @@ function summarizeViolations(violations) {
|
|
|
12
13
|
violations,
|
|
13
14
|
};
|
|
14
15
|
}
|
|
16
|
+
function isNormalizedSyncImportsOptions(options) {
|
|
17
|
+
return Array.isArray(options.excludeDirs);
|
|
18
|
+
}
|
|
15
19
|
async function syncImports(options) {
|
|
16
|
-
const normalized =
|
|
20
|
+
const normalized = isNormalizedSyncImportsOptions(options)
|
|
21
|
+
? options
|
|
22
|
+
: await normalizeSyncImportsOptions(options);
|
|
17
23
|
const logger = resolveLogger(normalized.logging);
|
|
18
24
|
logger.info("sync-started", "sync started", {
|
|
19
25
|
projectRoot: normalized.projectRoot,
|
|
@@ -22,7 +28,7 @@ async function syncImports(options) {
|
|
|
22
28
|
fix: normalized.fix,
|
|
23
29
|
});
|
|
24
30
|
try {
|
|
25
|
-
const sourceFiles = await scanSourceFiles(normalized);
|
|
31
|
+
const sourceFiles = (await scanSourceFiles(normalized)).filter((file) => supportsSyncImports(file.extension));
|
|
26
32
|
const plannedAliases = await planTsconfigAliases(normalized, sourceFiles, logger);
|
|
27
33
|
const driftViolations = await collectSyncImportViolations(sourceFiles, normalized, logger);
|
|
28
34
|
if (!normalized.fix) {
|
|
@@ -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,oCAAoC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-imports.js","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"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"}
|