@trebired/code-discipline 4.4.2 → 4.5.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 +5 -0
- package/README.md +23 -3
- package/dist/checks/apply-fixes.d.ts +26 -0
- package/dist/checks/apply-fixes.d.ts.map +1 -0
- package/dist/checks/apply-fixes.js +119 -0
- package/dist/checks/apply-fixes.js.map +1 -0
- package/dist/checks/index.d.ts.map +1 -1
- package/dist/checks/index.js +12 -127
- 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/blank-lines/classify.d.ts +6 -0
- package/dist/checks/rules/blank-lines/classify.d.ts.map +1 -0
- package/dist/checks/rules/blank-lines/classify.js +80 -0
- package/dist/checks/rules/blank-lines/classify.js.map +1 -0
- package/dist/checks/rules/blank-lines/comments.d.ts +7 -0
- package/dist/checks/rules/blank-lines/comments.d.ts.map +1 -0
- package/dist/checks/rules/blank-lines/comments.js +68 -0
- package/dist/checks/rules/blank-lines/comments.js.map +1 -0
- package/dist/checks/rules/blank-lines/index.d.ts +7 -0
- package/dist/checks/rules/blank-lines/index.d.ts.map +1 -0
- package/dist/checks/rules/blank-lines/index.js +89 -0
- package/dist/checks/rules/blank-lines/index.js.map +1 -0
- package/dist/checks/rules/blank-lines/rewrite.d.ts +14 -0
- package/dist/checks/rules/blank-lines/rewrite.d.ts.map +1 -0
- package/dist/checks/rules/blank-lines/rewrite.js +122 -0
- package/dist/checks/rules/blank-lines/rewrite.js.map +1 -0
- package/dist/checks/rules/blank-lines/types.d.ts +21 -0
- package/dist/checks/rules/blank-lines/types.d.ts.map +1 -0
- package/dist/checks/rules/blank-lines/types.js +2 -0
- package/dist/checks/rules/blank-lines/types.js.map +1 -0
- package/dist/checks/severity.d.ts +5 -0
- package/dist/checks/severity.d.ts.map +1 -0
- package/dist/checks/severity.js +28 -0
- package/dist/checks/severity.js.map +1 -0
- package/dist/checks/types.d.ts +13 -2
- package/dist/checks/types.d.ts.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 -2
- package/dist/config/normalize/rule-options.d.ts.map +1 -1
- package/dist/config/normalize/rule-options.js +18 -1
- package/dist/config/normalize/rule-options.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/shared/discipline-types.d.ts +1 -1
- package/dist/shared/discipline-types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/classify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import type { HeaderSegment } from "./types.js";
|
|
3
|
+
declare function getLine(sourceFile: ts.SourceFile, pos: number): number;
|
|
4
|
+
declare function resolveFileHeaderSegments(sourceFile: ts.SourceFile, fullText: string): HeaderSegment[];
|
|
5
|
+
declare function resolveAttachedStartLine(sourceFile: ts.SourceFile, fullText: string, node: ts.Node, notBeforePos: number): number;
|
|
6
|
+
export { getLine, resolveAttachedStartLine, resolveFileHeaderSegments };
|
|
7
|
+
//# sourceMappingURL=comments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmBhD,iBAAS,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D;AAQD,iBAAS,yBAAyB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAyB/F;AAED,iBAAS,wBAAwB,CAC/B,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,YAAY,EAAE,MAAM,GACnB,MAAM,CAqBR;AAED,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
const HEADER_COMMENT_MARKERS = [
|
|
3
|
+
"@ts-nocheck",
|
|
4
|
+
"@ts-check",
|
|
5
|
+
"eslint-disable",
|
|
6
|
+
"prettier-ignore",
|
|
7
|
+
"generated by",
|
|
8
|
+
"auto-generated",
|
|
9
|
+
"do not edit",
|
|
10
|
+
"@license",
|
|
11
|
+
"spdx-license-identifier",
|
|
12
|
+
];
|
|
13
|
+
function isHeaderCommentText(text) {
|
|
14
|
+
const normalized = text.toLowerCase();
|
|
15
|
+
return HEADER_COMMENT_MARKERS.some((marker) => normalized.includes(marker));
|
|
16
|
+
}
|
|
17
|
+
function getLine(sourceFile, pos) {
|
|
18
|
+
return sourceFile.getLineAndCharacterOfPosition(pos).line + 1;
|
|
19
|
+
}
|
|
20
|
+
function resolveShebangEnd(fullText) {
|
|
21
|
+
if (!fullText.startsWith("#!"))
|
|
22
|
+
return 0;
|
|
23
|
+
const newlineIndex = fullText.indexOf("\n");
|
|
24
|
+
return newlineIndex === -1 ? fullText.length : newlineIndex + 1;
|
|
25
|
+
}
|
|
26
|
+
function resolveFileHeaderSegments(sourceFile, fullText) {
|
|
27
|
+
const segments = [];
|
|
28
|
+
const shebangEnd = resolveShebangEnd(fullText);
|
|
29
|
+
if (shebangEnd > 0) {
|
|
30
|
+
segments.push({
|
|
31
|
+
startLine: 1,
|
|
32
|
+
endLine: getLine(sourceFile, Math.max(0, shebangEnd - 1)),
|
|
33
|
+
endPos: shebangEnd,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const commentRanges = ts.getLeadingCommentRanges(fullText, shebangEnd) ?? [];
|
|
37
|
+
for (const range of commentRanges) {
|
|
38
|
+
if (!isHeaderCommentText(fullText.slice(range.pos, range.end)))
|
|
39
|
+
break;
|
|
40
|
+
segments.push({
|
|
41
|
+
startLine: getLine(sourceFile, range.pos),
|
|
42
|
+
endLine: getLine(sourceFile, range.end),
|
|
43
|
+
endPos: range.end,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return segments;
|
|
47
|
+
}
|
|
48
|
+
function resolveAttachedStartLine(sourceFile, fullText, node, notBeforePos) {
|
|
49
|
+
const nodeStart = node.getStart(sourceFile);
|
|
50
|
+
const searchStart = Math.max(node.getFullStart(), notBeforePos);
|
|
51
|
+
const commentRanges = (ts.getLeadingCommentRanges(fullText, searchStart) ?? [])
|
|
52
|
+
.filter((range) => range.pos >= notBeforePos && range.end <= nodeStart);
|
|
53
|
+
if (commentRanges.length === 0)
|
|
54
|
+
return getLine(sourceFile, nodeStart);
|
|
55
|
+
let cursorPos = nodeStart;
|
|
56
|
+
let attachedStart = nodeStart;
|
|
57
|
+
for (let index = commentRanges.length - 1; index >= 0; index -= 1) {
|
|
58
|
+
const range = commentRanges[index];
|
|
59
|
+
const gap = getLine(sourceFile, cursorPos) - getLine(sourceFile, range.end);
|
|
60
|
+
if (gap > 1)
|
|
61
|
+
break;
|
|
62
|
+
attachedStart = range.pos;
|
|
63
|
+
cursorPos = range.pos;
|
|
64
|
+
}
|
|
65
|
+
return getLine(sourceFile, attachedStart);
|
|
66
|
+
}
|
|
67
|
+
export { getLine, resolveAttachedStartLine, resolveFileHeaderSegments };
|
|
68
|
+
//# sourceMappingURL=comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/comments.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 collectStructuralBlankLinesViolations(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions): Promise<CodeDisciplineViolation[]>;
|
|
5
|
+
declare function fixStructuralBlankLinesRule(sourceFiles: ScannedSourceFile[], options: NormalizedCheckCodeDisciplineOptions): Promise<FixCodeDisciplineRuleResult>;
|
|
6
|
+
export { collectStructuralBlankLinesViolations, fixStructuralBlankLinesRule };
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,KAAK,EAAE,2BAA2B,EAAE,oCAAoC,EAAE,MAAM,gBAAgB,CAAC;AAsBxG,iBAAe,qCAAqC,CAClD,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAiCpC;AAED,iBAAe,2BAA2B,CACxC,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,2BAA2B,CAAC,CA4CtC;AAED,OAAO,EAAE,qCAAqC,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { parseSource } from "../../../imports/module-specifiers.js";
|
|
4
|
+
import { isTypeScriptFamilyExtension } from "../../../shared/languages.js";
|
|
5
|
+
import { createRuleProgress, emitRuleChunk, emitRuleCompleted } from "../../progress.js";
|
|
6
|
+
import { rewriteStructuralBlankLines } from "./rewrite.js";
|
|
7
|
+
function createStructuralBlankLinesViolation(args) {
|
|
8
|
+
return {
|
|
9
|
+
rule: "structural-blank-lines",
|
|
10
|
+
fix: true,
|
|
11
|
+
filePath: args.filePath,
|
|
12
|
+
message: `file has ${args.boundaryCount} structural boundar${args.boundaryCount === 1 ? "y" : "ies"} with incorrect blank line spacing`,
|
|
13
|
+
details: {
|
|
14
|
+
boundaryCount: args.boundaryCount,
|
|
15
|
+
insertedBlankLines: args.insertedBlankLines,
|
|
16
|
+
removedBlankLines: args.removedBlankLines,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async function collectStructuralBlankLinesViolations(sourceFiles, options) {
|
|
21
|
+
const violations = [];
|
|
22
|
+
const progress = createRuleProgress({
|
|
23
|
+
observer: options.progressObserver,
|
|
24
|
+
rule: "structural-blank-lines",
|
|
25
|
+
totalItems: sourceFiles.length,
|
|
26
|
+
});
|
|
27
|
+
for (let index = 0; index < sourceFiles.length; index += 1) {
|
|
28
|
+
const file = sourceFiles[index];
|
|
29
|
+
if (!isTypeScriptFamilyExtension(path.extname(file.absolutePath).toLowerCase())) {
|
|
30
|
+
emitRuleChunk(progress, index + 1, violations.length);
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
const sourceText = await fs.readFile(file.absolutePath, "utf8");
|
|
34
|
+
const sourceFile = parseSource(sourceText, file.absolutePath);
|
|
35
|
+
const result = rewriteStructuralBlankLines(sourceFile, sourceText);
|
|
36
|
+
if (result.changed) {
|
|
37
|
+
violations.push(createStructuralBlankLinesViolation({
|
|
38
|
+
filePath: file.relativeFromProjectRoot,
|
|
39
|
+
boundaryCount: result.boundaryCount,
|
|
40
|
+
insertedBlankLines: result.insertedBlankLines,
|
|
41
|
+
removedBlankLines: result.removedBlankLines,
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
emitRuleChunk(progress, index + 1, violations.length);
|
|
45
|
+
}
|
|
46
|
+
emitRuleCompleted(progress, violations.length);
|
|
47
|
+
return violations;
|
|
48
|
+
}
|
|
49
|
+
async function fixStructuralBlankLinesRule(sourceFiles, options) {
|
|
50
|
+
const progress = createRuleProgress({
|
|
51
|
+
observer: options.progressObserver,
|
|
52
|
+
rule: "structural-blank-lines",
|
|
53
|
+
stage: "fix",
|
|
54
|
+
totalItems: sourceFiles.length,
|
|
55
|
+
});
|
|
56
|
+
let rewrittenFiles = 0;
|
|
57
|
+
let insertedBlankLines = 0;
|
|
58
|
+
let removedBlankLines = 0;
|
|
59
|
+
for (let index = 0; index < sourceFiles.length; index += 1) {
|
|
60
|
+
const file = sourceFiles[index];
|
|
61
|
+
if (!isTypeScriptFamilyExtension(path.extname(file.absolutePath).toLowerCase())) {
|
|
62
|
+
emitRuleChunk(progress, index + 1, 0, { rewrittenFiles });
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
const sourceText = await fs.readFile(file.absolutePath, "utf8");
|
|
66
|
+
const sourceFile = parseSource(sourceText, file.absolutePath);
|
|
67
|
+
const result = rewriteStructuralBlankLines(sourceFile, sourceText);
|
|
68
|
+
if (!result.changed) {
|
|
69
|
+
emitRuleChunk(progress, index + 1, 0, { rewrittenFiles });
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
await fs.writeFile(file.absolutePath, result.text, "utf8");
|
|
73
|
+
rewrittenFiles += 1;
|
|
74
|
+
insertedBlankLines += result.insertedBlankLines;
|
|
75
|
+
removedBlankLines += result.removedBlankLines;
|
|
76
|
+
emitRuleChunk(progress, index + 1, 0, { rewrittenFiles });
|
|
77
|
+
}
|
|
78
|
+
emitRuleCompleted(progress, 0, { rewrittenFiles });
|
|
79
|
+
return {
|
|
80
|
+
ok: true,
|
|
81
|
+
violationCount: 0,
|
|
82
|
+
violations: [],
|
|
83
|
+
rewritten_files: rewrittenFiles,
|
|
84
|
+
inserted_blank_lines: insertedBlankLines,
|
|
85
|
+
removed_blank_lines: removedBlankLines,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export { collectStructuralBlankLinesViolations, fixStructuralBlankLinesRule };
|
|
89
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D,SAAS,mCAAmC,CAAC,IAK5C;IACC,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,YAAY,IAAI,CAAC,aAAa,sBAAsB,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,oCAAoC;QACvI,OAAO,EAAE;YACP,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qCAAqC,CAClD,WAAgC,EAChC,OAA6C;IAE7C,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,gBAAgB;QAClC,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,WAAW,CAAC,MAAM;KAC/B,CAAC,CAAC;IAEH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAE,CAAC;QACjC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChF,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACtD,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,2BAA2B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEnE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CAAC,mCAAmC,CAAC;gBAClD,QAAQ,EAAE,IAAI,CAAC,uBAAuB;gBACtC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;aAC5C,CAAC,CAAC,CAAC;QACN,CAAC;QAED,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,WAAgC,EAChC,OAA6C;IAE7C,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,gBAAgB;QAClC,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,WAAW,CAAC,MAAM;KAC/B,CAAC,CAAC;IAEH,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAE,CAAC;QACjC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChF,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,2BAA2B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,cAAc,IAAI,CAAC,CAAC;QACpB,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC;QAChD,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAC9C,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACnD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,EAAE;QACd,eAAe,EAAE,cAAc;QAC/B,oBAAoB,EAAE,kBAAkB;QACxC,mBAAmB,EAAE,iBAAiB;KACvC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,qCAAqC,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import type { BoundaryEdit } from "./types.js";
|
|
3
|
+
declare function collectBoundaryEdits(sourceFile: ts.SourceFile, fullText: string): BoundaryEdit[];
|
|
4
|
+
type ApplyBoundaryEditsResult = {
|
|
5
|
+
text: string;
|
|
6
|
+
changed: boolean;
|
|
7
|
+
boundaryCount: number;
|
|
8
|
+
insertedBlankLines: number;
|
|
9
|
+
removedBlankLines: number;
|
|
10
|
+
};
|
|
11
|
+
declare function rewriteStructuralBlankLines(sourceFile: ts.SourceFile, fullText: string): ApplyBoundaryEditsResult;
|
|
12
|
+
export { collectBoundaryEdits, rewriteStructuralBlankLines };
|
|
13
|
+
export type { ApplyBoundaryEditsResult };
|
|
14
|
+
//# sourceMappingURL=rewrite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/rewrite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,OAAO,KAAK,EAAE,YAAY,EAAkD,MAAM,YAAY,CAAC;AAkG/F,iBAAS,oBAAoB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAUzF;AAED,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AA6BF,iBAAS,2BAA2B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CAG1G;AAED,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { buildMemberUnits, buildStatementUnits } from "./classify.js";
|
|
3
|
+
import { resolveFileHeaderSegments } from "./comments.js";
|
|
4
|
+
const COMPACT_GROUPS = new Set([
|
|
5
|
+
"directive",
|
|
6
|
+
"import",
|
|
7
|
+
"export",
|
|
8
|
+
"type",
|
|
9
|
+
"variable",
|
|
10
|
+
"execution",
|
|
11
|
+
"class-field",
|
|
12
|
+
]);
|
|
13
|
+
const OVERLOAD_LIKE_GROUPS = new Set([
|
|
14
|
+
"function",
|
|
15
|
+
"class-method",
|
|
16
|
+
"class-accessor",
|
|
17
|
+
]);
|
|
18
|
+
function isCompactPair(previous, next) {
|
|
19
|
+
if (previous.group !== next.group)
|
|
20
|
+
return false;
|
|
21
|
+
if (COMPACT_GROUPS.has(previous.group))
|
|
22
|
+
return true;
|
|
23
|
+
return OVERLOAD_LIKE_GROUPS.has(previous.group) && Boolean(previous.name) && previous.name === next.name;
|
|
24
|
+
}
|
|
25
|
+
function computePairwiseEdits(units) {
|
|
26
|
+
const edits = [];
|
|
27
|
+
for (let index = 1; index < units.length; index += 1) {
|
|
28
|
+
const previous = units[index - 1];
|
|
29
|
+
const next = units[index];
|
|
30
|
+
const gap = next.startLine - previous.endLine - 1;
|
|
31
|
+
const target = isCompactPair(previous, next) ? Math.min(gap, 1) : 1;
|
|
32
|
+
if (target === gap)
|
|
33
|
+
continue;
|
|
34
|
+
edits.push({
|
|
35
|
+
atLine: previous.endLine + 1,
|
|
36
|
+
removeCount: Math.max(0, gap - target),
|
|
37
|
+
insertCount: Math.max(0, target - gap),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return edits;
|
|
41
|
+
}
|
|
42
|
+
function computeHeaderEdits(headerSegments, firstUnit) {
|
|
43
|
+
if (headerSegments.length === 0 || !firstUnit)
|
|
44
|
+
return [];
|
|
45
|
+
const edits = [];
|
|
46
|
+
for (let index = 1; index < headerSegments.length; index += 1) {
|
|
47
|
+
const previous = headerSegments[index - 1];
|
|
48
|
+
const next = headerSegments[index];
|
|
49
|
+
const gap = next.startLine - previous.endLine - 1;
|
|
50
|
+
const target = Math.min(gap, 1);
|
|
51
|
+
if (target === gap)
|
|
52
|
+
continue;
|
|
53
|
+
edits.push({ atLine: previous.endLine + 1, removeCount: gap - target, insertCount: 0 });
|
|
54
|
+
}
|
|
55
|
+
const lastHeader = headerSegments[headerSegments.length - 1];
|
|
56
|
+
const gap = firstUnit.startLine - lastHeader.endLine - 1;
|
|
57
|
+
if (gap !== 1) {
|
|
58
|
+
edits.push({
|
|
59
|
+
atLine: lastHeader.endLine + 1,
|
|
60
|
+
removeCount: Math.max(0, gap - 1),
|
|
61
|
+
insertCount: Math.max(0, 1 - gap),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return edits;
|
|
65
|
+
}
|
|
66
|
+
function isClassLikeDeclaration(node) {
|
|
67
|
+
return ts.isClassDeclaration(node) || ts.isClassExpression(node);
|
|
68
|
+
}
|
|
69
|
+
function collectNestedEdits(sourceFile, fullText, units) {
|
|
70
|
+
const edits = [];
|
|
71
|
+
for (const unit of units) {
|
|
72
|
+
if (isClassLikeDeclaration(unit.node)) {
|
|
73
|
+
const memberUnits = buildMemberUnits(sourceFile, fullText, unit.node.members);
|
|
74
|
+
edits.push(...computePairwiseEdits(memberUnits));
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
if (ts.isModuleDeclaration(unit.node) && unit.node.body && ts.isModuleBlock(unit.node.body)) {
|
|
78
|
+
const nestedUnits = buildStatementUnits(sourceFile, fullText, unit.node.body.statements, 0);
|
|
79
|
+
edits.push(...computePairwiseEdits(nestedUnits));
|
|
80
|
+
edits.push(...collectNestedEdits(sourceFile, fullText, nestedUnits));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return edits;
|
|
84
|
+
}
|
|
85
|
+
function collectBoundaryEdits(sourceFile, fullText) {
|
|
86
|
+
const headerSegments = resolveFileHeaderSegments(sourceFile, fullText);
|
|
87
|
+
const notBeforePos = headerSegments.length > 0 ? headerSegments[headerSegments.length - 1].endPos : 0;
|
|
88
|
+
const topUnits = buildStatementUnits(sourceFile, fullText, sourceFile.statements, notBeforePos);
|
|
89
|
+
return [
|
|
90
|
+
...computeHeaderEdits(headerSegments, topUnits[0]),
|
|
91
|
+
...computePairwiseEdits(topUnits),
|
|
92
|
+
...collectNestedEdits(sourceFile, fullText, topUnits),
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
function applyBoundaryEdits(text, edits) {
|
|
96
|
+
if (edits.length === 0) {
|
|
97
|
+
return { text, changed: false, boundaryCount: 0, insertedBlankLines: 0, removedBlankLines: 0 };
|
|
98
|
+
}
|
|
99
|
+
const newline = text.includes("\r\n") ? "\r\n" : "\n";
|
|
100
|
+
const lines = text.split(/\r\n|\n/);
|
|
101
|
+
const sorted = [...edits].sort((left, right) => right.atLine - left.atLine);
|
|
102
|
+
let insertedBlankLines = 0;
|
|
103
|
+
let removedBlankLines = 0;
|
|
104
|
+
for (const edit of sorted) {
|
|
105
|
+
lines.splice(edit.atLine - 1, edit.removeCount, ...Array.from({ length: edit.insertCount }, () => ""));
|
|
106
|
+
insertedBlankLines += edit.insertCount;
|
|
107
|
+
removedBlankLines += edit.removeCount;
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
text: lines.join(newline),
|
|
111
|
+
changed: true,
|
|
112
|
+
boundaryCount: edits.length,
|
|
113
|
+
insertedBlankLines,
|
|
114
|
+
removedBlankLines,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function rewriteStructuralBlankLines(sourceFile, fullText) {
|
|
118
|
+
const edits = collectBoundaryEdits(sourceFile, fullText);
|
|
119
|
+
return applyBoundaryEdits(fullText, edits);
|
|
120
|
+
}
|
|
121
|
+
export { collectBoundaryEdits, rewriteStructuralBlankLines };
|
|
122
|
+
//# sourceMappingURL=rewrite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/rewrite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type ts from "typescript";
|
|
2
|
+
type StructuralGroup = "directive" | "import" | "type" | "variable" | "function" | "class" | "enum" | "namespace" | "export" | "execution" | "class-field" | "class-method" | "class-accessor" | "class-constructor" | "class-static-block";
|
|
3
|
+
type StructuralUnit = {
|
|
4
|
+
group: StructuralGroup;
|
|
5
|
+
name?: string;
|
|
6
|
+
startLine: number;
|
|
7
|
+
endLine: number;
|
|
8
|
+
node: ts.Node;
|
|
9
|
+
};
|
|
10
|
+
type HeaderSegment = {
|
|
11
|
+
startLine: number;
|
|
12
|
+
endLine: number;
|
|
13
|
+
endPos: number;
|
|
14
|
+
};
|
|
15
|
+
type BoundaryEdit = {
|
|
16
|
+
atLine: number;
|
|
17
|
+
removeCount: number;
|
|
18
|
+
insertCount: number;
|
|
19
|
+
};
|
|
20
|
+
export type { BoundaryEdit, HeaderSegment, StructuralGroup, StructuralUnit };
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,KAAK,eAAe,GAChB,WAAW,GACX,QAAQ,GACR,MAAM,GACN,UAAU,GACV,UAAU,GACV,OAAO,GACP,MAAM,GACN,WAAW,GACX,QAAQ,GACR,WAAW,GACX,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;CACf,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/checks/rules/blank-lines/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CodeDisciplineViolation } from "../shared/discipline-types.js";
|
|
2
|
+
import type { NormalizedCheckCodeDisciplineOptions } from "./types.js";
|
|
3
|
+
declare function applyConfiguredSeverity(violations: CodeDisciplineViolation[], options: NormalizedCheckCodeDisciplineOptions): CodeDisciplineViolation[];
|
|
4
|
+
export { applyConfiguredSeverity };
|
|
5
|
+
//# sourceMappingURL=severity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"severity.d.ts","sourceRoot":"","sources":["../../src/checks/severity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAuBvE,iBAAS,uBAAuB,CAC9B,UAAU,EAAE,uBAAuB,EAAE,EACrC,OAAO,EAAE,oCAAoC,GAC5C,uBAAuB,EAAE,CAQ3B;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function resolveConfiguredSeverity(violation, options) {
|
|
2
|
+
switch (violation.rule) {
|
|
3
|
+
case "banned-patterns": return options.rules.bannedPatterns?.severity ?? "fail";
|
|
4
|
+
case "banned-files": return options.rules.bannedFiles?.severity ?? "fail";
|
|
5
|
+
case "min-file-lines": return options.rules.minFileLines?.severity ?? "fail";
|
|
6
|
+
case "min-declaration-name": return options.rules.minDeclarationName?.severity ?? "fail";
|
|
7
|
+
case "max-file-lines": return options.rules.maxFileLines?.severity ?? "fail";
|
|
8
|
+
case "max-characters-per-line": return options.rules.maxCharactersPerLine?.severity ?? "fail";
|
|
9
|
+
case "max-function-lines": return options.rules.maxFunctionLines?.severity ?? "fail";
|
|
10
|
+
case "folderize-compound-files": return options.rules.folderizeCompoundFiles?.severity ?? "fail";
|
|
11
|
+
case "sync-imports": return options.rules.syncImports?.severity ?? "fail";
|
|
12
|
+
case "remove-comments": return options.rules.removeComments?.severity ?? "fail";
|
|
13
|
+
case "structural-blank-lines": return options.rules.structuralBlankLines?.severity ?? "fail";
|
|
14
|
+
case "dry": return options.rules.dry?.severity ?? "fail";
|
|
15
|
+
case "prettier": return "fail";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function applyConfiguredSeverity(violations, options) {
|
|
19
|
+
return violations.map((violation) => {
|
|
20
|
+
const severity = violation.severity ?? resolveConfiguredSeverity(violation, options);
|
|
21
|
+
return {
|
|
22
|
+
...violation,
|
|
23
|
+
severity: severity === "warning" ? "warning" : undefined,
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export { applyConfiguredSeverity };
|
|
28
|
+
//# sourceMappingURL=severity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"severity.js","sourceRoot":"","sources":["../../src/checks/severity.ts"],"names":[],"mappings":"AAGA,SAAS,yBAAyB,CAChC,SAAkC,EAClC,OAA6C;IAE7C,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,iBAAiB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,IAAI,MAAM,CAAC;QAChF,KAAK,cAAc,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC1E,KAAK,gBAAgB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC7E,KAAK,sBAAsB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,IAAI,MAAM,CAAC;QACzF,KAAK,gBAAgB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC7E,KAAK,yBAAyB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC9F,KAAK,oBAAoB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,IAAI,MAAM,CAAC;QACrF,KAAK,0BAA0B,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,QAAQ,IAAI,MAAM,CAAC;QACjG,KAAK,cAAc,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC1E,KAAK,iBAAiB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,IAAI,MAAM,CAAC;QAChF,KAAK,wBAAwB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC7F,KAAK,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,IAAI,MAAM,CAAC;QACzD,KAAK,UAAU,CAAC,CAAC,OAAO,MAAM,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAqC,EACrC,OAA6C;IAE7C,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrF,OAAO;YACL,GAAG,SAAS;YACZ,QAAQ,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
package/dist/checks/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { CodeDisciplineResult, CodeDisciplineRuleName, CodeDisciplineViolat
|
|
|
5
5
|
type CodeDisciplineRuleSlug = CodeDisciplineRuleName;
|
|
6
6
|
type CodeDisciplineFormatterSlug = "prettier";
|
|
7
7
|
type CodeDisciplineCheckSelectorSlug = CodeDisciplineRuleSlug | CodeDisciplineFormatterSlug;
|
|
8
|
-
type FixableRuleSlug = "banned-files" | "min-file-lines" | "folderize-compound-files" | "sync-imports" | "remove-comments" | CodeDisciplineFormatterSlug;
|
|
8
|
+
type FixableRuleSlug = "banned-files" | "min-file-lines" | "folderize-compound-files" | "sync-imports" | "remove-comments" | "structural-blank-lines" | CodeDisciplineFormatterSlug;
|
|
9
9
|
type CodeDisciplineMode = "check" | "fix";
|
|
10
10
|
type CodeDisciplineRuntimeMode = CodeDisciplineMode;
|
|
11
11
|
type CodeDisciplineRuleSeverity = "warning" | "fail";
|
|
@@ -55,6 +55,9 @@ type RemoveCommentsRuleOptions = RuleExclusionOptions & {
|
|
|
55
55
|
severity?: CodeDisciplineRuleSeverity;
|
|
56
56
|
exclude?: string[];
|
|
57
57
|
};
|
|
58
|
+
type StructuralBlankLinesRuleOptions = RuleExclusionOptions & {
|
|
59
|
+
severity?: CodeDisciplineRuleSeverity;
|
|
60
|
+
};
|
|
58
61
|
type DryRuleOptions = RuleExclusionOptions & {
|
|
59
62
|
minDuplicateCharacters?: number;
|
|
60
63
|
severity?: CodeDisciplineRuleSeverity;
|
|
@@ -75,6 +78,7 @@ type CodeDisciplineRules = {
|
|
|
75
78
|
folderizeCompoundFiles?: FolderizeCompoundFilesRuleOptions;
|
|
76
79
|
syncImports?: CodeDisciplineSyncImportsRuleOptions;
|
|
77
80
|
removeComments?: RemoveCommentsRuleOptions;
|
|
81
|
+
structuralBlankLines?: StructuralBlankLinesRuleOptions;
|
|
78
82
|
dry?: DryRuleOptions;
|
|
79
83
|
};
|
|
80
84
|
type PrettierFormatterOptions = {
|
|
@@ -183,6 +187,10 @@ type NormalizedRemoveCommentsRule = {
|
|
|
183
187
|
severity: CodeDisciplineRuleSeverity;
|
|
184
188
|
exclude: string[];
|
|
185
189
|
};
|
|
190
|
+
type NormalizedStructuralBlankLinesRule = {
|
|
191
|
+
excludeDirs: ExcludeDirEntry[];
|
|
192
|
+
severity: CodeDisciplineRuleSeverity;
|
|
193
|
+
};
|
|
186
194
|
type NormalizedPrettierFormatter = {
|
|
187
195
|
targets: string[];
|
|
188
196
|
ignore: boolean;
|
|
@@ -208,6 +216,7 @@ type NormalizedCheckCodeDisciplineOptions = SourceScanOptions & {
|
|
|
208
216
|
folderizeCompoundFiles?: NormalizedFolderizeCompoundFilesRule;
|
|
209
217
|
syncImports?: CodeDisciplineSyncImportsRuleOptions;
|
|
210
218
|
removeComments?: NormalizedRemoveCommentsRule;
|
|
219
|
+
structuralBlankLines?: NormalizedStructuralBlankLinesRule;
|
|
211
220
|
dry?: NormalizedDryRule;
|
|
212
221
|
};
|
|
213
222
|
};
|
|
@@ -225,6 +234,8 @@ type FixCodeDisciplineRuleResult = {
|
|
|
225
234
|
removed_duplicates?: number;
|
|
226
235
|
added_imports?: number;
|
|
227
236
|
deleted_files?: number;
|
|
237
|
+
inserted_blank_lines?: number;
|
|
238
|
+
removed_blank_lines?: number;
|
|
228
239
|
};
|
|
229
240
|
type FixCodeDisciplineResult = CodeDisciplineResult & {
|
|
230
241
|
deleted_files: number;
|
|
@@ -236,5 +247,5 @@ type FixCodeDisciplineResult = CodeDisciplineResult & {
|
|
|
236
247
|
unchanged_files: number;
|
|
237
248
|
ruleResults: Partial<Record<FixableRuleSlug, FixCodeDisciplineRuleResult>>;
|
|
238
249
|
};
|
|
239
|
-
export type { BannedPatternRuleEntry, BannedFileRuleEntry, BannedFilesRuleOptions, BannedPatternsRuleOptions, CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineLifecycleContext, CodeDisciplineLifecycleHookResult, CodeDisciplineLifecycleHooks, CodeDisciplineMode, CodeDisciplinePackageJsonImportsOptions, CodeDisciplineRuleSlug, CodeDisciplineRuleSeverity, CodeDisciplineRuntimeMode, CodeDisciplineCheckSelectorSlug, CodeDisciplineFormatterSlug, CodeDisciplineFormatters, CodeDisciplineRules, CodeDisciplineSyncImportsRuleOptions, CodeDisciplineTsconfigPathsOptions, DryRuleOptions, FixableRuleSlug, FixCodeDisciplineOptions, FixCodeDisciplineResult, FixCodeDisciplineRuleResult, FolderizeCompoundFilesRuleOptions, MaxCharactersPerLineRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, MinDeclarationNameRuleOptions, MinFileLinesRuleOptions, NormalizedPrettierFormatter, NormalizedBannedFileRuleEntry, NormalizedBannedFilesRule, NormalizedBannedPatternRuleEntry, NormalizedBannedPatternsRule, RemoveCommentsRuleOptions, RuleExclusionOptions, PrettierFormatterOptions, NormalizedCheckCodeDisciplineOptions, NormalizedDryRule, NormalizedFolderizeCompoundFilesRule, NormalizedMaxCharactersPerLineRule, NormalizedMaxFileLinesRule, NormalizedMaxFunctionLinesRule, NormalizedMinDeclarationNameRule, NormalizedMinFileLinesRule, NormalizedRemoveCommentsRule, TsconfigPathsNormalizeMode, };
|
|
250
|
+
export type { BannedPatternRuleEntry, BannedFileRuleEntry, BannedFilesRuleOptions, BannedPatternsRuleOptions, CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineLifecycleContext, CodeDisciplineLifecycleHookResult, CodeDisciplineLifecycleHooks, CodeDisciplineMode, CodeDisciplinePackageJsonImportsOptions, CodeDisciplineRuleSlug, CodeDisciplineRuleSeverity, CodeDisciplineRuntimeMode, CodeDisciplineCheckSelectorSlug, CodeDisciplineFormatterSlug, CodeDisciplineFormatters, CodeDisciplineRules, CodeDisciplineSyncImportsRuleOptions, CodeDisciplineTsconfigPathsOptions, DryRuleOptions, FixableRuleSlug, FixCodeDisciplineOptions, FixCodeDisciplineResult, FixCodeDisciplineRuleResult, FolderizeCompoundFilesRuleOptions, MaxCharactersPerLineRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, MinDeclarationNameRuleOptions, MinFileLinesRuleOptions, NormalizedPrettierFormatter, NormalizedBannedFileRuleEntry, NormalizedBannedFilesRule, NormalizedBannedPatternRuleEntry, NormalizedBannedPatternsRule, RemoveCommentsRuleOptions, RuleExclusionOptions, PrettierFormatterOptions, NormalizedCheckCodeDisciplineOptions, NormalizedDryRule, NormalizedFolderizeCompoundFilesRule, NormalizedMaxCharactersPerLineRule, NormalizedMaxFileLinesRule, NormalizedMaxFunctionLinesRule, NormalizedMinDeclarationNameRule, NormalizedMinFileLinesRule, NormalizedRemoveCommentsRule, NormalizedStructuralBlankLinesRule, StructuralBlankLinesRuleOptions, TsconfigPathsNormalizeMode, };
|
|
240
251
|
//# 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,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EACV,2BAA2B,EAC3B,eAAe,EACf,6BAA6B,EAC7B,sBAAsB,EACtB,kBAAkB,EAClB,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,2BAA2B,GAAG,UAAU,CAAC;AAC9C,KAAK,+BAA+B,GAAG,sBAAsB,GAAG,2BAA2B,CAAC;AAC5F,KAAK,eAAe,GAAG,cAAc,GAAG,gBAAgB,GAAG,0BAA0B,GAAG,cAAc,GAAG,iBAAiB,GAAG,2BAA2B,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":"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,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"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,uBAAuB,CAAC;AA6B/B,iBAAe,mCAAmC,CAChD,OAAO,EAAE,0BAA0B,GAAG,wBAAwB,EAC9D,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,oCAAoC,CAAC,CA0B/C;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { normalizeOnlyRules } from "../../checks/rule-slugs.js";
|
|
2
|
-
import { normalizeBannedPatternsRule, normalizeBannedFilesRule, normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxCharactersPerLineRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeMinDeclarationNameRule, normalizeMinFileLinesRule, normalizeRemoveCommentsRule, normalizeSyncImportsRule, } from "./rule-options.js";
|
|
2
|
+
import { normalizeBannedPatternsRule, normalizeBannedFilesRule, normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxCharactersPerLineRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeMinDeclarationNameRule, normalizeMinFileLinesRule, normalizeRemoveCommentsRule, normalizeStructuralBlankLinesRule, normalizeSyncImportsRule, } from "./rule-options.js";
|
|
3
3
|
import { normalizeFormatters } from "./formatter-options.js";
|
|
4
4
|
import { InvalidCodeDisciplineConfigError } from "../../shared/errors.js";
|
|
5
5
|
import { normalizeLoggingOptions } from "./logging-options.js";
|
|
@@ -33,6 +33,7 @@ async function normalizeCheckCodeDisciplineOptions(options, mode) {
|
|
|
33
33
|
folderizeCompoundFiles: normalizeFolderizeCompoundFilesRule(options.rules?.folderizeCompoundFiles),
|
|
34
34
|
syncImports: normalizeSyncImportsRule(options.rules?.syncImports),
|
|
35
35
|
removeComments: normalizeRemoveCommentsRule(options.rules?.removeComments),
|
|
36
|
+
structuralBlankLines: normalizeStructuralBlankLinesRule(options.rules?.structuralBlankLines),
|
|
36
37
|
},
|
|
37
38
|
};
|
|
38
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-options.js","sourceRoot":"","sources":["../../../src/config/normalize/check-options.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,mCAAmC,EACnC,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,SAAS,yBAAyB,CAAC,OAAgC;IACjE,IAAI,eAAe,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,gCAAgC,CAAC,8EAA8E,EAAE;YACzH,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,OAA8D,EAC9D,IAAwB;IAExB,yBAAyB,CAAC,OAAkC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;QAC5D,SAAS,EAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;QACzF,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,UAAU,EAAE,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC;QACnD,KAAK,EAAE;YACL,cAAc,EAAE,2BAA2B,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC;YAC1E,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;YACjE,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACzC,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;YACpE,kBAAkB,EAAE,+BAA+B,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC;YACtF,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;YACpE,oBAAoB,EAAE,iCAAiC,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC;YAC5F,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;
|
|
1
|
+
{"version":3,"file":"check-options.js","sourceRoot":"","sources":["../../../src/config/normalize/check-options.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,mCAAmC,EACnC,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,iCAAiC,EACjC,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,SAAS,yBAAyB,CAAC,OAAgC;IACjE,IAAI,eAAe,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,gCAAgC,CAAC,8EAA8E,EAAE;YACzH,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,OAA8D,EAC9D,IAAwB;IAExB,yBAAyB,CAAC,OAAkC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;QAC5D,SAAS,EAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;QACzF,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,UAAU,EAAE,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC;QACnD,KAAK,EAAE;YACL,cAAc,EAAE,2BAA2B,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC;YAC1E,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;YACjE,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACzC,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;YACpE,kBAAkB,EAAE,+BAA+B,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC;YACtF,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;YACpE,oBAAoB,EAAE,iCAAiC,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC;YAC5F,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;YAC1E,oBAAoB,EAAE,iCAAiC,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC;SAC7F;KACF,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BannedPatternsRuleOptions, BannedFilesRuleOptions, CodeDisciplineSyncImportsRuleOptions, DryRuleOptions, FolderizeCompoundFilesRuleOptions, MaxCharactersPerLineRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, MinDeclarationNameRuleOptions, MinFileLinesRuleOptions, NormalizedBannedPatternsRule, NormalizedBannedFilesRule, NormalizedDryRule, RemoveCommentsRuleOptions } from "../../checks/types.js";
|
|
1
|
+
import type { BannedPatternsRuleOptions, BannedFilesRuleOptions, CodeDisciplineSyncImportsRuleOptions, DryRuleOptions, FolderizeCompoundFilesRuleOptions, MaxCharactersPerLineRuleOptions, MaxFileLinesRuleOptions, MaxFunctionLinesRuleOptions, MinDeclarationNameRuleOptions, MinFileLinesRuleOptions, NormalizedBannedPatternsRule, NormalizedBannedFilesRule, NormalizedDryRule, RemoveCommentsRuleOptions, StructuralBlankLinesRuleOptions } from "../../checks/types.js";
|
|
2
2
|
declare function normalizeMinFileLinesRule(rule: MinFileLinesRuleOptions | undefined): {
|
|
3
3
|
min: number;
|
|
4
4
|
severity: "fail" | "warning";
|
|
@@ -50,10 +50,14 @@ declare function normalizeSyncImportsRule(rule: CodeDisciplineSyncImportsRuleOpt
|
|
|
50
50
|
allowRelative: string[] | import("../../index.js").AllowRelativeFn;
|
|
51
51
|
};
|
|
52
52
|
declare function normalizeDryRule(rule: DryRuleOptions | undefined): NormalizedDryRule | undefined;
|
|
53
|
+
declare function normalizeStructuralBlankLinesRule(rule: StructuralBlankLinesRuleOptions | undefined): {
|
|
54
|
+
severity: "fail" | "warning";
|
|
55
|
+
excludeDirs: import("../../imports/types.js").ExcludeDirEntry[];
|
|
56
|
+
};
|
|
53
57
|
declare function normalizeRemoveCommentsRule(rule: RemoveCommentsRuleOptions | undefined): {
|
|
54
58
|
severity: "fail" | "warning";
|
|
55
59
|
exclude: string[];
|
|
56
60
|
excludeDirs: import("../../imports/types.js").ExcludeDirEntry[];
|
|
57
61
|
};
|
|
58
|
-
export { normalizeBannedPatternsRule, normalizeBannedFilesRule, normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxCharactersPerLineRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeMinDeclarationNameRule, normalizeMinFileLinesRule, normalizeRemoveCommentsRule, normalizeSyncImportsRule, };
|
|
62
|
+
export { normalizeBannedPatternsRule, normalizeBannedFilesRule, normalizeDryRule, normalizeFolderizeCompoundFilesRule, normalizeMaxCharactersPerLineRule, normalizeMaxFileLinesRule, normalizeMaxFunctionLinesRule, normalizeMinDeclarationNameRule, normalizeMinFileLinesRule, normalizeRemoveCommentsRule, normalizeStructuralBlankLinesRule, normalizeSyncImportsRule, };
|
|
59
63
|
//# sourceMappingURL=rule-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-options.d.ts","sourceRoot":"","sources":["../../../src/config/normalize/rule-options.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,oCAAoC,EACpC,cAAc,EACd,iCAAiC,EACjC,+BAA+B,EAC/B,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"rule-options.d.ts","sourceRoot":"","sources":["../../../src/config/normalize/rule-options.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,oCAAoC,EACpC,cAAc,EACd,iCAAiC,EACjC,+BAA+B,EAC/B,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,uBAAuB,CAAC;AA0D/B,iBAAS,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,SAAS;;;;EAU3E;AAED,iBAAS,+BAA+B,CAAC,IAAI,EAAE,6BAA6B,GAAG,SAAS;;;;EAUvF;AAED,iBAAS,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,SAAS;;;;EAiB3E;AAED,iBAAS,2BAA2B,CAAC,IAAI,EAAE,yBAAyB,GAAG,SAAS,GAAG,4BAA4B,GAAG,SAAS,CAyC1H;AAED,iBAAS,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,SAAS,GAAG,yBAAyB,GAAG,SAAS,CAmCjH;AAED,iBAAS,iCAAiC,CAAC,IAAI,EAAE,+BAA+B,GAAG,SAAS;;;;EAU3F;AAED,iBAAS,6BAA6B,CAAC,IAAI,EAAE,2BAA2B,GAAG,SAAS;;;;EAiBnF;AAED,iBAAS,mCAAmC,CAAC,IAAI,EAAE,iCAAiC,GAAG,SAAS;;;;EAiB/F;AAED,iBAAS,wBAAwB,CAAC,IAAI,EAAE,oCAAoC,GAAG,SAAS;;;;;;;;;;;;;;;;;EAiCvF;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAUzF;AAED,iBAAS,iCAAiC,CAAC,IAAI,EAAE,+BAA+B,GAAG,SAAS;;;EAgB3F;AAED,iBAAS,2BAA2B,CAAC,IAAI,EAAE,yBAAyB,GAAG,SAAS;;;;EAwB/E;AAED,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,mCAAmC,EACnC,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,iCAAiC,EACjC,wBAAwB,GACzB,CAAC"}
|