@trebired/code-discipline 2.1.1 → 2.3.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 +82 -5
- package/dist/checks/fix-folderization.d.ts.map +1 -1
- package/dist/checks/fix-folderization.js +5 -0
- 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 +50 -7
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/rule-slugs.d.ts +1 -0
- package/dist/checks/rule-slugs.d.ts.map +1 -1
- package/dist/checks/rule-slugs.js +3 -0
- package/dist/checks/rule-slugs.js.map +1 -1
- package/dist/checks/rules/comment-stripping.d.ts +11 -0
- package/dist/checks/rules/comment-stripping.d.ts.map +1 -0
- package/dist/checks/rules/comment-stripping.js +266 -0
- package/dist/checks/rules/comment-stripping.js.map +1 -0
- package/dist/checks/rules/dry.d.ts.map +1 -1
- package/dist/checks/rules/dry.js +6 -5
- package/dist/checks/rules/dry.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/rules/remove-comments.d.ts +7 -0
- package/dist/checks/rules/remove-comments.d.ts.map +1 -0
- package/dist/checks/rules/remove-comments.js +58 -0
- package/dist/checks/rules/remove-comments.js.map +1 -0
- package/dist/checks/types.d.ts +12 -4
- package/dist/checks/types.d.ts.map +1 -1
- package/dist/cli/run-cli.d.ts.map +1 -1
- package/dist/cli/run-cli.js +48 -2
- package/dist/cli/run-cli.js.map +1 -1
- package/dist/config/normalize-check-options.d.ts.map +1 -1
- package/dist/config/normalize-check-options.js +2 -1
- package/dist/config/normalize-check-options.js.map +1 -1
- package/dist/config/normalize-rule-options.d.ts +6 -3
- package/dist/config/normalize-rule-options.d.ts.map +1 -1
- package/dist/config/normalize-rule-options.js +17 -1
- 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 +4 -2
- 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/index.d.ts +1 -1
- package/dist/index.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/runtime/gate-command.d.ts +13 -0
- package/dist/runtime/gate-command.d.ts.map +1 -0
- package/dist/runtime/gate-command.js +51 -0
- package/dist/runtime/gate-command.js.map +1 -0
- 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/discipline-types.d.ts +1 -1
- package/dist/shared/discipline-types.d.ts.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 +9 -0
- package/dist/shared/languages.d.ts.map +1 -0
- package/dist/shared/languages.js +39 -0
- package/dist/shared/languages.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
2
3
|
import ts from "typescript";
|
|
3
4
|
import { parseSource } from "../../imports/module-specifiers.js";
|
|
5
|
+
import { isGoExtension, isRustExtension, isTypeScriptFamilyExtension, supportsMaxFunctionLines } from "../../shared/languages.js";
|
|
4
6
|
function isFunctionLikeWithBody(node) {
|
|
5
7
|
return ((ts.isFunctionDeclaration(node) && node.body !== undefined)
|
|
6
8
|
|| (ts.isMethodDeclaration(node) && node.body !== undefined)
|
|
@@ -55,7 +57,7 @@ function describeFunction(node, sourceFile) {
|
|
|
55
57
|
endLine,
|
|
56
58
|
};
|
|
57
59
|
}
|
|
58
|
-
function
|
|
60
|
+
function collectTypeScriptFunctionDescriptors(sourceFile) {
|
|
59
61
|
const descriptors = [];
|
|
60
62
|
function visit(node) {
|
|
61
63
|
if (isFunctionLikeWithBody(node)) {
|
|
@@ -69,14 +71,129 @@ function collectFunctionDescriptors(sourceFile) {
|
|
|
69
71
|
visit(sourceFile);
|
|
70
72
|
return descriptors;
|
|
71
73
|
}
|
|
74
|
+
function stripCommentsAndStrings(value) {
|
|
75
|
+
let result = "";
|
|
76
|
+
let inSingle = false;
|
|
77
|
+
let inDouble = false;
|
|
78
|
+
let inTemplate = false;
|
|
79
|
+
let escaped = false;
|
|
80
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
81
|
+
const character = value[index];
|
|
82
|
+
const nextCharacter = value[index + 1];
|
|
83
|
+
if (!inSingle && !inDouble && !inTemplate && character === "/" && nextCharacter === "/") {
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
if (!inSingle && !inDouble && !inTemplate && character === "/" && nextCharacter === "*") {
|
|
87
|
+
const closingIndex = value.indexOf("*/", index + 2);
|
|
88
|
+
if (closingIndex < 0)
|
|
89
|
+
break;
|
|
90
|
+
index = closingIndex + 1;
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (escaped) {
|
|
94
|
+
escaped = false;
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if ((inSingle || inDouble || inTemplate) && character === "\\") {
|
|
98
|
+
escaped = true;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if (!inDouble && !inTemplate && character === "'") {
|
|
102
|
+
inSingle = !inSingle;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (!inSingle && !inTemplate && character === "\"") {
|
|
106
|
+
inDouble = !inDouble;
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
if (!inSingle && !inDouble && character === "`") {
|
|
110
|
+
inTemplate = !inTemplate;
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
if (!inSingle && !inDouble && !inTemplate) {
|
|
114
|
+
result += character;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
function countBraceDelta(value) {
|
|
120
|
+
const normalized = stripCommentsAndStrings(value);
|
|
121
|
+
let delta = 0;
|
|
122
|
+
for (const character of normalized) {
|
|
123
|
+
if (character === "{")
|
|
124
|
+
delta += 1;
|
|
125
|
+
if (character === "}")
|
|
126
|
+
delta -= 1;
|
|
127
|
+
}
|
|
128
|
+
return delta;
|
|
129
|
+
}
|
|
130
|
+
function collectBlockFunctionDescriptors(text, extension) {
|
|
131
|
+
const descriptors = [];
|
|
132
|
+
const lines = text.split(/\r?\n/);
|
|
133
|
+
const isGo = isGoExtension(extension);
|
|
134
|
+
const headerStartPattern = isGo
|
|
135
|
+
? /^\s*func(?:\s*\([^)]*\))?\s+/u
|
|
136
|
+
: /^\s*(?:pub(?:\([^)]*\))?\s+)?(?:async\s+)?(?:const\s+)?(?:unsafe\s+)?fn\s+/u;
|
|
137
|
+
const headerNamePattern = isGo
|
|
138
|
+
? /^\s*func(?:\s*\([^)]*\))?\s+([A-Za-z_]\w*)/u
|
|
139
|
+
: /\bfn\s+([A-Za-z_]\w*)/u;
|
|
140
|
+
let pendingHeader = "";
|
|
141
|
+
let pendingStartLine = 0;
|
|
142
|
+
let pendingBraceDepth = 0;
|
|
143
|
+
let pendingName = "";
|
|
144
|
+
let pendingKind = "function";
|
|
145
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
146
|
+
const line = lines[index] ?? "";
|
|
147
|
+
if (!pendingHeader) {
|
|
148
|
+
if (!headerStartPattern.test(line))
|
|
149
|
+
continue;
|
|
150
|
+
pendingHeader = line;
|
|
151
|
+
pendingStartLine = index + 1;
|
|
152
|
+
pendingKind = isGo && /\bfunc\s*\(/u.test(line) ? "method" : "function";
|
|
153
|
+
pendingName = headerNamePattern.exec(line)?.[1] ?? "anonymous";
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
pendingHeader = `${pendingHeader}\n${line}`;
|
|
157
|
+
if (!pendingName || pendingName === "anonymous") {
|
|
158
|
+
pendingName = headerNamePattern.exec(pendingHeader)?.[1] ?? pendingName;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (pendingBraceDepth === 0 && !stripCommentsAndStrings(pendingHeader).includes("{")) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
pendingBraceDepth += countBraceDelta(line);
|
|
165
|
+
if (pendingBraceDepth > 0) {
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
descriptors.push({
|
|
169
|
+
kind: pendingKind,
|
|
170
|
+
lineCount: Math.max(1, (index + 1) - pendingStartLine + 1),
|
|
171
|
+
name: pendingName || "anonymous",
|
|
172
|
+
startLine: pendingStartLine,
|
|
173
|
+
endLine: index + 1,
|
|
174
|
+
});
|
|
175
|
+
pendingHeader = "";
|
|
176
|
+
pendingStartLine = 0;
|
|
177
|
+
pendingBraceDepth = 0;
|
|
178
|
+
pendingName = "";
|
|
179
|
+
pendingKind = "function";
|
|
180
|
+
}
|
|
181
|
+
return descriptors;
|
|
182
|
+
}
|
|
72
183
|
async function runMaxFunctionLinesRule(sourceFiles, options) {
|
|
73
184
|
if (!options.rules.maxFunctionLines)
|
|
74
185
|
return [];
|
|
75
186
|
const violations = [];
|
|
76
187
|
for (const file of sourceFiles) {
|
|
188
|
+
if (!supportsMaxFunctionLines(file.extension))
|
|
189
|
+
continue;
|
|
77
190
|
const text = await fs.readFile(file.absolutePath, "utf8");
|
|
78
|
-
const
|
|
79
|
-
const functions =
|
|
191
|
+
const extension = path.extname(file.absolutePath).toLowerCase();
|
|
192
|
+
const functions = isTypeScriptFamilyExtension(extension)
|
|
193
|
+
? collectTypeScriptFunctionDescriptors(parseSource(text, file.absolutePath))
|
|
194
|
+
: (isGoExtension(extension) || isRustExtension(extension))
|
|
195
|
+
? collectBlockFunctionDescriptors(text, extension)
|
|
196
|
+
: [];
|
|
80
197
|
for (const descriptor of functions) {
|
|
81
198
|
if (descriptor.lineCount <= options.rules.maxFunctionLines.max)
|
|
82
199
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"max-function-lines.js","sourceRoot":"","sources":["../../../src/checks/rules/max-function-lines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"max-function-lines.js","sourceRoot":"","sources":["../../../src/checks/rules/max-function-lines.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ScannedSourceFile } from "../../imports/types.js";
|
|
2
|
+
import type { CodeDisciplineViolation } from "../../shared/discipline-types.js";
|
|
3
|
+
import type { FixCodeDisciplineRuleResult, NormalizedCheckCodeDisciplineOptions } from "../types.js";
|
|
4
|
+
declare function collectRemoveCommentsViolations(sourceFiles: ScannedSourceFile[]): Promise<CodeDisciplineViolation[]>;
|
|
5
|
+
declare function fixRemoveCommentsRule(sourceFiles: ScannedSourceFile[], _options: NormalizedCheckCodeDisciplineOptions): Promise<FixCodeDisciplineRuleResult>;
|
|
6
|
+
export { collectRemoveCommentsViolations, fixRemoveCommentsRule };
|
|
7
|
+
//# sourceMappingURL=remove-comments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-comments.d.ts","sourceRoot":"","sources":["../../../src/checks/rules/remove-comments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,OAAO,KAAK,EAAE,2BAA2B,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AAsBrG,iBAAe,+BAA+B,CAC5C,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAmBpC;AAED,iBAAe,qBAAqB,CAClC,WAAW,EAAE,iBAAiB,EAAE,EAChC,QAAQ,EAAE,oCAAoC,GAC7C,OAAO,CAAC,2BAA2B,CAAC,CAuBtC;AAED,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import { supportsRemoveComments } from "../../shared/languages.js";
|
|
3
|
+
import { stripComments } from "./comment-stripping.js";
|
|
4
|
+
function createRemoveCommentsViolation(args) {
|
|
5
|
+
return {
|
|
6
|
+
rule: "remove-comments",
|
|
7
|
+
fix: true,
|
|
8
|
+
filePath: args.filePath,
|
|
9
|
+
message: `file contains ${args.commentCount} removable comment(s)`,
|
|
10
|
+
details: {
|
|
11
|
+
commentCount: args.commentCount,
|
|
12
|
+
lineComments: args.lineComments,
|
|
13
|
+
blockComments: args.blockComments,
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
async function collectRemoveCommentsViolations(sourceFiles) {
|
|
18
|
+
const violations = [];
|
|
19
|
+
for (const file of sourceFiles) {
|
|
20
|
+
if (!supportsRemoveComments(file.extension))
|
|
21
|
+
continue;
|
|
22
|
+
const sourceText = await fs.readFile(file.absolutePath, "utf8");
|
|
23
|
+
const result = stripComments(sourceText, file.extension);
|
|
24
|
+
if (!result.changed)
|
|
25
|
+
continue;
|
|
26
|
+
violations.push(createRemoveCommentsViolation({
|
|
27
|
+
filePath: file.relativeFromProjectRoot,
|
|
28
|
+
commentCount: result.commentCount,
|
|
29
|
+
lineComments: result.lineComments,
|
|
30
|
+
blockComments: result.blockComments,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
return violations;
|
|
34
|
+
}
|
|
35
|
+
async function fixRemoveCommentsRule(sourceFiles, _options) {
|
|
36
|
+
let rewrittenFiles = 0;
|
|
37
|
+
let removedComments = 0;
|
|
38
|
+
for (const file of sourceFiles) {
|
|
39
|
+
if (!supportsRemoveComments(file.extension))
|
|
40
|
+
continue;
|
|
41
|
+
const sourceText = await fs.readFile(file.absolutePath, "utf8");
|
|
42
|
+
const result = stripComments(sourceText, file.extension);
|
|
43
|
+
if (!result.changed)
|
|
44
|
+
continue;
|
|
45
|
+
await fs.writeFile(file.absolutePath, result.text, "utf8");
|
|
46
|
+
rewrittenFiles += 1;
|
|
47
|
+
removedComments += result.commentCount;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
ok: true,
|
|
51
|
+
violationCount: 0,
|
|
52
|
+
violations: [],
|
|
53
|
+
rewritten_files: rewrittenFiles,
|
|
54
|
+
removed_comments: removedComments,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export { collectRemoveCommentsViolations, fixRemoveCommentsRule };
|
|
58
|
+
//# sourceMappingURL=remove-comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-comments.js","sourceRoot":"","sources":["../../../src/checks/rules/remove-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIlC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,SAAS,6BAA6B,CAAC,IAKtC;IACC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,iBAAiB,IAAI,CAAC,YAAY,uBAAuB;QAClE,OAAO,EAAE;YACP,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,WAAgC;IAEhC,MAAM,UAAU,GAA8B,EAAE,CAAC;IAEjD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,SAAS;QAEtD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,SAAS;QAE9B,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,uBAAuB;YACtC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,WAAgC,EAChC,QAA8C;IAE9C,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,SAAS;QAEtD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,SAAS;QAE9B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,cAAc,IAAI,CAAC,CAAC;QACpB,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,EAAE;QACd,eAAe,EAAE,cAAc;QAC/B,gBAAgB,EAAE,eAAe;KAClC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/checks/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { LoggingOptions } from "../shared/logging-types.js";
|
|
2
|
-
import type { PackageJsonImportsSyncOptions, SourceScanOptions, SyncImportsRuleOptions } from "../imports/types.js";
|
|
2
|
+
import type { ExcludeDirsOptions, PackageJsonImportsSyncOptions, SourceScanOptions, SyncImportsRuleOptions } from "../imports/types.js";
|
|
3
3
|
import type { CodeDisciplineResult, CodeDisciplineRuleName, CodeDisciplineViolation } from "../shared/discipline-types.js";
|
|
4
4
|
type CodeDisciplineRuleSlug = CodeDisciplineRuleName;
|
|
5
|
-
type FixableRuleSlug = "folderize-compound-files" | "sync-imports" | "dry";
|
|
5
|
+
type FixableRuleSlug = "folderize-compound-files" | "sync-imports" | "remove-comments" | "dry";
|
|
6
6
|
type CodeDisciplineMode = "check" | "fix";
|
|
7
7
|
type CodeDisciplineRuntimeMode = CodeDisciplineMode;
|
|
8
8
|
type MaxFileLinesRuleOptions = {
|
|
@@ -14,6 +14,7 @@ type MaxFunctionLinesRuleOptions = {
|
|
|
14
14
|
type FolderizeCompoundFilesRuleOptions = {
|
|
15
15
|
separators?: string[];
|
|
16
16
|
};
|
|
17
|
+
type RemoveCommentsRuleOptions = Record<string, never>;
|
|
17
18
|
type DryHelperReference = {
|
|
18
19
|
from: string;
|
|
19
20
|
exportName: string;
|
|
@@ -31,6 +32,7 @@ type CodeDisciplineRules = {
|
|
|
31
32
|
maxFunctionLines?: MaxFunctionLinesRuleOptions;
|
|
32
33
|
folderizeCompoundFiles?: FolderizeCompoundFilesRuleOptions;
|
|
33
34
|
syncImports?: CodeDisciplineSyncImportsRuleOptions;
|
|
35
|
+
removeComments?: RemoveCommentsRuleOptions;
|
|
34
36
|
dry?: DryRuleOptions;
|
|
35
37
|
};
|
|
36
38
|
type TsconfigPathsNormalizeMode = "relative-dot-prefix" | "strip-dot-prefix" | "none";
|
|
@@ -58,7 +60,9 @@ type CheckCodeDisciplineOptions = {
|
|
|
58
60
|
configPath?: string;
|
|
59
61
|
sourceRoot?: string;
|
|
60
62
|
sourceExtensions?: string[];
|
|
61
|
-
|
|
63
|
+
includeDefaultSourceExtensions?: boolean;
|
|
64
|
+
excludeDirs?: ExcludeDirsOptions;
|
|
65
|
+
gitignorePath?: string;
|
|
62
66
|
logging?: LoggingOptions;
|
|
63
67
|
rules?: CodeDisciplineRules;
|
|
64
68
|
lifecycle?: CodeDisciplineLifecycleHooks;
|
|
@@ -81,6 +85,7 @@ type NormalizedFolderizeCompoundFilesRule = {
|
|
|
81
85
|
type NormalizedDryRule = {
|
|
82
86
|
helpers: DryHelperReference[];
|
|
83
87
|
};
|
|
88
|
+
type NormalizedRemoveCommentsRule = Record<string, never>;
|
|
84
89
|
type NormalizedCheckCodeDisciplineOptions = SourceScanOptions & {
|
|
85
90
|
configPath?: string;
|
|
86
91
|
sourceRootRelative: string;
|
|
@@ -91,6 +96,7 @@ type NormalizedCheckCodeDisciplineOptions = SourceScanOptions & {
|
|
|
91
96
|
maxFunctionLines?: NormalizedMaxFunctionLinesRule;
|
|
92
97
|
folderizeCompoundFiles?: NormalizedFolderizeCompoundFilesRule;
|
|
93
98
|
syncImports?: CodeDisciplineSyncImportsRuleOptions;
|
|
99
|
+
removeComments?: NormalizedRemoveCommentsRule;
|
|
94
100
|
dry?: NormalizedDryRule;
|
|
95
101
|
};
|
|
96
102
|
};
|
|
@@ -102,6 +108,7 @@ type FixCodeDisciplineRuleResult = {
|
|
|
102
108
|
moved_files?: number;
|
|
103
109
|
rewritten_files?: number;
|
|
104
110
|
rewritten_imports?: number;
|
|
111
|
+
removed_comments?: number;
|
|
105
112
|
removed_duplicates?: number;
|
|
106
113
|
added_imports?: number;
|
|
107
114
|
};
|
|
@@ -109,7 +116,8 @@ type FixCodeDisciplineResult = CodeDisciplineResult & {
|
|
|
109
116
|
moved_files: number;
|
|
110
117
|
rewritten_files: number;
|
|
111
118
|
rewritten_imports: number;
|
|
119
|
+
removed_comments: number;
|
|
112
120
|
ruleResults: Partial<Record<FixableRuleSlug, FixCodeDisciplineRuleResult>>;
|
|
113
121
|
};
|
|
114
|
-
export type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineLifecycleContext, CodeDisciplineLifecycleHookResult, CodeDisciplineLifecycleHooks, CodeDisciplineMode, CodeDisciplinePackageJsonImportsOptions, CodeDisciplineRuleSlug, CodeDisciplineRuntimeMode, CodeDisciplineRules, CodeDisciplineSyncImportsRuleOptions, CodeDisciplineTsconfigPathsOptions, DryHelperReference, DryRuleOptions, FixableRuleSlug, FixCodeDisciplineOptions, FixCodeDisciplineResult, FixCodeDisciplineRuleResult, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, NormalizedCheckCodeDisciplineOptions, NormalizedDryRule, NormalizedFolderizeCompoundFilesRule, NormalizedMaxFileLinesRule, NormalizedMaxFunctionLinesRule, TsconfigPathsNormalizeMode, };
|
|
122
|
+
export type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineLifecycleContext, CodeDisciplineLifecycleHookResult, CodeDisciplineLifecycleHooks, CodeDisciplineMode, CodeDisciplinePackageJsonImportsOptions, CodeDisciplineRuleSlug, CodeDisciplineRuntimeMode, CodeDisciplineRules, CodeDisciplineSyncImportsRuleOptions, CodeDisciplineTsconfigPathsOptions, DryHelperReference, DryRuleOptions, FixableRuleSlug, FixCodeDisciplineOptions, FixCodeDisciplineResult, FixCodeDisciplineRuleResult, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, RemoveCommentsRuleOptions, NormalizedCheckCodeDisciplineOptions, NormalizedDryRule, NormalizedFolderizeCompoundFilesRule, NormalizedMaxFileLinesRule, NormalizedMaxFunctionLinesRule, NormalizedRemoveCommentsRule, TsconfigPathsNormalizeMode, };
|
|
115
123
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checks/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EACV,6BAA6B,EAC7B,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,KAAK,sBAAsB,GAAG,sBAAsB,CAAC;AACrD,KAAK,eAAe,GAAG,0BAA0B,GAAG,cAAc,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checks/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-cli.d.ts","sourceRoot":"","sources":["../../src/cli/run-cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"run-cli.d.ts","sourceRoot":"","sources":["../../src/cli/run-cli.ts"],"names":[],"mappings":";AAYA,KAAK,aAAa,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAiIF,iBAAe,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAgHxF;AAOD,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/cli/run-cli.js
CHANGED
|
@@ -3,6 +3,7 @@ import fs from "node:fs/promises";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { codeDiscipline } from "../run.js";
|
|
5
5
|
import { loadResolvedCodeDisciplineConfig } from "../config/index.js";
|
|
6
|
+
import { runGatedCommand } from "../runtime/gate-command.js";
|
|
6
7
|
import { isDirectExecution } from "../shared/utils.js";
|
|
7
8
|
function padDatePart(value) {
|
|
8
9
|
return String(value).padStart(2, "0");
|
|
@@ -19,28 +20,39 @@ function createSavedReportFilename(now) {
|
|
|
19
20
|
function renderHelp() {
|
|
20
21
|
return [
|
|
21
22
|
"Usage: code-discipline <command> [rule-slug...] [save] [--config <path>]",
|
|
23
|
+
" code-discipline gate [rule-slug...] [save] [--config <path>] -- <command> [args...]",
|
|
22
24
|
"",
|
|
23
25
|
"Commands:",
|
|
24
26
|
" check run read-only discipline validation",
|
|
25
27
|
" fix apply configured discipline fixes",
|
|
28
|
+
" gate block a child command when discipline violations exist",
|
|
26
29
|
" save optional token that writes the run output to a timestamped cd-report-YYYY-MM-DD-HH-mm-ss.txt file",
|
|
27
30
|
"",
|
|
28
31
|
"Rule Selectors:",
|
|
29
32
|
" check <rule-slug>... narrows validation to the selected configured rules",
|
|
30
33
|
" fix <rule-slug>... narrows fixes to the selected configured fixable rules",
|
|
34
|
+
" gate <rule-slug>... narrows the pre-start validation before the child command runs",
|
|
31
35
|
"",
|
|
32
36
|
"Config:",
|
|
33
37
|
" --config <path> optionally points to a module that default-exports the config object.",
|
|
34
38
|
" If omitted, code-discipline will auto-discover a config module in the current project root.",
|
|
35
39
|
"",
|
|
40
|
+
"Gate:",
|
|
41
|
+
" gate requires -- before the child command so code-discipline can separate its own arguments.",
|
|
42
|
+
"",
|
|
36
43
|
].join("\n");
|
|
37
44
|
}
|
|
38
45
|
function parseArgs(args) {
|
|
39
46
|
let configPath;
|
|
40
47
|
let saveOutput = false;
|
|
41
48
|
const selectors = [];
|
|
49
|
+
let commandArgs = [];
|
|
42
50
|
for (let index = 0; index < args.length; index += 1) {
|
|
43
51
|
const arg = args[index];
|
|
52
|
+
if (arg === "--") {
|
|
53
|
+
commandArgs = args.slice(index + 1);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
44
56
|
if (arg === "--config") {
|
|
45
57
|
const value = args[index + 1];
|
|
46
58
|
if (!value) {
|
|
@@ -63,7 +75,7 @@ function parseArgs(args) {
|
|
|
63
75
|
}
|
|
64
76
|
selectors.push(arg);
|
|
65
77
|
}
|
|
66
|
-
return { configPath, saveOutput, selectors };
|
|
78
|
+
return { configPath, saveOutput, selectors, commandArgs };
|
|
67
79
|
}
|
|
68
80
|
function formatViolation(violation) {
|
|
69
81
|
const suggested = violation.suggestedPath ? ` suggested=${violation.suggestedPath}` : "";
|
|
@@ -81,7 +93,7 @@ function renderCheckOutput(violations, violationCount) {
|
|
|
81
93
|
function renderFixOutput(args) {
|
|
82
94
|
return [
|
|
83
95
|
...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`,
|
|
96
|
+
`Fix summary: moved ${args.movedFiles}, rewritten files ${args.rewrittenFiles}, rewritten imports ${args.rewrittenImports}, removed comments ${args.removedComments}, remaining violations ${args.violationCount}.\n`,
|
|
85
97
|
].join("");
|
|
86
98
|
}
|
|
87
99
|
async function saveCliOutput(cwd, reportText, now) {
|
|
@@ -104,6 +116,9 @@ async function runCli(argv, options = {}) {
|
|
|
104
116
|
const parsed = parseArgs(rest);
|
|
105
117
|
const { config, configPath } = await loadResolvedCodeDisciplineConfig(cwd, parsed.configPath);
|
|
106
118
|
if (command === "check") {
|
|
119
|
+
if (parsed.commandArgs.length > 0) {
|
|
120
|
+
throw new Error("Command separator -- is only supported with gate");
|
|
121
|
+
}
|
|
107
122
|
const result = await codeDiscipline({
|
|
108
123
|
...config,
|
|
109
124
|
configPath,
|
|
@@ -120,6 +135,9 @@ async function runCli(argv, options = {}) {
|
|
|
120
135
|
return { exitCode: result.ok ? 0 : 1 };
|
|
121
136
|
}
|
|
122
137
|
if (command === "fix") {
|
|
138
|
+
if (parsed.commandArgs.length > 0) {
|
|
139
|
+
throw new Error("Command separator -- is only supported with gate");
|
|
140
|
+
}
|
|
123
141
|
const result = await codeDiscipline({
|
|
124
142
|
...config,
|
|
125
143
|
configPath,
|
|
@@ -131,6 +149,7 @@ async function runCli(argv, options = {}) {
|
|
|
131
149
|
movedFiles: result.moved_files,
|
|
132
150
|
rewrittenFiles: result.rewritten_files,
|
|
133
151
|
rewrittenImports: result.rewritten_imports,
|
|
152
|
+
removedComments: result.removed_comments ?? 0,
|
|
134
153
|
violationCount: result.violationCount,
|
|
135
154
|
violations: result.violations,
|
|
136
155
|
});
|
|
@@ -141,6 +160,33 @@ async function runCli(argv, options = {}) {
|
|
|
141
160
|
}
|
|
142
161
|
return { exitCode: result.ok ? 0 : 1 };
|
|
143
162
|
}
|
|
163
|
+
if (command === "gate") {
|
|
164
|
+
if (parsed.commandArgs.length === 0) {
|
|
165
|
+
throw new Error("Missing child command after --");
|
|
166
|
+
}
|
|
167
|
+
const result = await codeDiscipline({
|
|
168
|
+
...config,
|
|
169
|
+
configPath,
|
|
170
|
+
mode: "check",
|
|
171
|
+
onlyRules: parsed.selectors,
|
|
172
|
+
projectRoot: cwd,
|
|
173
|
+
});
|
|
174
|
+
if (!result.ok) {
|
|
175
|
+
const reportText = renderCheckOutput(result.violations, result.violationCount);
|
|
176
|
+
stdout(reportText);
|
|
177
|
+
if (parsed.saveOutput) {
|
|
178
|
+
const reportFilename = await saveCliOutput(cwd, reportText, now);
|
|
179
|
+
stdout(`Saved report to ${reportFilename}.\n`);
|
|
180
|
+
}
|
|
181
|
+
return { exitCode: 1 };
|
|
182
|
+
}
|
|
183
|
+
const [childCommand, ...childArgs] = parsed.commandArgs;
|
|
184
|
+
return runGatedCommand({
|
|
185
|
+
args: childArgs,
|
|
186
|
+
command: childCommand,
|
|
187
|
+
cwd,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
144
190
|
stderr(`Unknown command: ${command}\n`);
|
|
145
191
|
stderr(renderHelp());
|
|
146
192
|
return { exitCode: 1 };
|
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,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAavD,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAS;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9C,OAAO,aAAa,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,OAAO,IAAI,OAAO,MAAM,CAAC;AAChF,CAAC;AAED,SAAS,UAAU;IACjB,OAAO;QACL,0EAA0E;QAC1E,EAAE;QACF,WAAW;QACX,qDAAqD;QACrD,mDAAmD;QACnD,mHAAmH;QACnH,EAAE;QACF,iBAAiB;QACjB,4EAA4E;QAC5E,6EAA6E;QAC7E,EAAE;QACF,SAAS;QACT,yFAAyF;QACzF,+FAA+F;QAC/F,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;
|
|
1
|
+
{"version":3,"file":"run-cli.js","sourceRoot":"","sources":["../../src/cli/run-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-check-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-check-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,wBAAwB,EACxB,oCAAoC,EACrC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize-check-options.d.ts","sourceRoot":"","sources":["../../src/config/normalize-check-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,wBAAwB,EACxB,oCAAoC,EACrC,MAAM,oBAAoB,CAAC;AAY5B,iBAAe,mCAAmC,CAChD,OAAO,EAAE,0BAA0B,GAAG,wBAAwB,EAC9D,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,oCAAoC,CAAC,CAsB/C;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { normalizeOnlyRules } from "../checks/rule-slugs.js";
|
|
2
|
-
import { normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeSyncImportsRule, } from "./normalize-rule-options.js";
|
|
2
|
+
import { normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeRemoveCommentsRule, normalizeSyncImportsRule, } from "./normalize-rule-options.js";
|
|
3
3
|
import { normalizeSourceOptions } from "./normalize-source-options.js";
|
|
4
4
|
async function normalizeCheckCodeDisciplineOptions(options, mode) {
|
|
5
5
|
const source = await normalizeSourceOptions(options);
|
|
@@ -19,6 +19,7 @@ async function normalizeCheckCodeDisciplineOptions(options, mode) {
|
|
|
19
19
|
maxFunctionLines: normalizeMaxFunctionLinesRule(options.rules?.maxFunctionLines),
|
|
20
20
|
folderizeCompoundFiles: normalizeFolderizeCompoundFilesRule(options.rules?.folderizeCompoundFiles),
|
|
21
21
|
syncImports: normalizeSyncImportsRule(options.rules?.syncImports),
|
|
22
|
+
removeComments: normalizeRemoveCommentsRule(options.rules?.removeComments),
|
|
22
23
|
},
|
|
23
24
|
};
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-check-options.js","sourceRoot":"","sources":["../../src/config/normalize-check-options.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,KAAK,UAAU,mCAAmC,CAChD,OAA8D,EAC9D,IAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;YACjG,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM;YAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO;YACjC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,KAAK;SACvC;QACD,SAAS,EAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC;QACrE,KAAK,EAAE;YACL,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACzC,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;YACpE,gBAAgB,EAAE,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC;YAChF,sBAAsB,EAAE,mCAAmC,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC;YAClG,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize-check-options.js","sourceRoot":"","sources":["../../src/config/normalize-check-options.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,KAAK,UAAU,mCAAmC,CAChD,OAA8D,EAC9D,IAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;YACjG,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM;YAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO;YACjC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,KAAK;SACvC;QACD,SAAS,EAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC;QACrE,KAAK,EAAE;YACL,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACzC,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;YACpE,gBAAgB,EAAE,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC;YAChF,sBAAsB,EAAE,mCAAmC,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC;YAClG,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;YACjE,cAAc,EAAE,2BAA2B,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC;SAC3E;KACF,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CodeDisciplineSyncImportsRuleOptions, DryRuleOptions, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, NormalizedDryRule } from "../checks/types.js";
|
|
1
|
+
import type { CodeDisciplineSyncImportsRuleOptions, DryRuleOptions, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, NormalizedDryRule, RemoveCommentsRuleOptions } from "../checks/types.js";
|
|
2
2
|
declare function normalizeMaxFileLinesRule(rule: MaxFileLinesRuleOptions | undefined): {
|
|
3
3
|
max: number;
|
|
4
4
|
};
|
|
@@ -12,7 +12,9 @@ declare function normalizeSyncImportsRule(rule: CodeDisciplineSyncImportsRuleOpt
|
|
|
12
12
|
sourceRoot: string;
|
|
13
13
|
tsconfigPath: string;
|
|
14
14
|
sourceExtensions: string[];
|
|
15
|
-
|
|
15
|
+
includeDefaultSourceExtensions: boolean;
|
|
16
|
+
excludeDirs: import("../imports/types.js").ExcludeDirsOptions;
|
|
17
|
+
gitignorePath: string;
|
|
16
18
|
alias: {
|
|
17
19
|
prefix?: string;
|
|
18
20
|
strategy?: "random" | "relative-path-hash" | "relative-path-slug" | import("../index.js").AliasStrategyFn;
|
|
@@ -23,5 +25,6 @@ declare function normalizeSyncImportsRule(rule: CodeDisciplineSyncImportsRuleOpt
|
|
|
23
25
|
logging: import("../index.js").LoggingOptions;
|
|
24
26
|
};
|
|
25
27
|
declare function normalizeDryRule(rule: DryRuleOptions | undefined): NormalizedDryRule | undefined;
|
|
26
|
-
|
|
28
|
+
declare function normalizeRemoveCommentsRule(rule: RemoveCommentsRuleOptions | undefined): {};
|
|
29
|
+
export { normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeRemoveCommentsRule, normalizeSyncImportsRule, };
|
|
27
30
|
//# sourceMappingURL=normalize-rule-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EACjB,yBAAyB,EAC1B,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;AAED,iBAAS,2BAA2B,CAAC,IAAI,EAAE,yBAAyB,GAAG,SAAS,MAc/E;AAMD,OAAO,EACL,gBAAgB,EAChB,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,GACzB,CAAC"}
|
|
@@ -88,7 +88,9 @@ function normalizeSyncImportsRule(rule) {
|
|
|
88
88
|
sourceRoot: rule?.sourceRoot,
|
|
89
89
|
tsconfigPath: rule?.tsconfigPath,
|
|
90
90
|
sourceExtensions: rule?.sourceExtensions,
|
|
91
|
+
includeDefaultSourceExtensions: rule?.includeDefaultSourceExtensions,
|
|
91
92
|
excludeDirs: rule?.excludeDirs,
|
|
93
|
+
gitignorePath: rule?.gitignorePath,
|
|
92
94
|
alias: rule?.alias,
|
|
93
95
|
allowRelative: rule?.allowRelative ?? DEFAULT_ALLOW_RELATIVE,
|
|
94
96
|
packageJsonImports: rule?.packageJsonImports,
|
|
@@ -131,8 +133,22 @@ function normalizeDryRule(rule) {
|
|
|
131
133
|
helpers,
|
|
132
134
|
};
|
|
133
135
|
}
|
|
136
|
+
function normalizeRemoveCommentsRule(rule) {
|
|
137
|
+
if (!rule)
|
|
138
|
+
return undefined;
|
|
139
|
+
const source = rule;
|
|
140
|
+
assertRemovedKeys("removeComments", source, ["enabled", "stop", "fix"]);
|
|
141
|
+
assertSeverityRemoved("removeComments", source);
|
|
142
|
+
if (Object.keys(source).length > 0) {
|
|
143
|
+
throw new InvalidCodeDisciplineConfigError("removeComments does not accept rule options", {
|
|
144
|
+
rule: "removeComments",
|
|
145
|
+
keys: Object.keys(source),
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
return {};
|
|
149
|
+
}
|
|
134
150
|
function uniqueStrings(values) {
|
|
135
151
|
return Array.from(new Set(values));
|
|
136
152
|
}
|
|
137
|
-
export { normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeSyncImportsRule };
|
|
153
|
+
export { normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeRemoveCommentsRule, normalizeSyncImportsRule, };
|
|
138
154
|
//# sourceMappingURL=normalize-rule-options.js.map
|