Skip to content

Commit e13dfa9

Browse files
kopernic-plclaude
andcommitted
refactor(formatters,cli): replace eslint-disable with Number() coercion; simplify readFileDescriptor
Replace no-unsafe-enum-comparison suppression comments in junit.ts and markdown.ts with Number() coercion that makes the intent clear and satisfies the linter properly. Remove dead Buffer branch in readFileDescriptor since setEncoding guarantees string chunks. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent f76b0af commit e13dfa9

3 files changed

Lines changed: 9 additions & 7 deletions

File tree

packages/cli/src/services/linter/utils/readFileDescriptor.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ export async function readFileDescriptor(fd: number, opts: IFileReadOptions): Pr
99
stream.setEncoding(opts.encoding);
1010

1111
stream.on('readable', () => {
12-
let chunk: string | Buffer;
12+
let chunk: string;
1313

14-
while ((chunk = stream.read() as string | Buffer) !== null) {
15-
result += typeof chunk === 'string' ? chunk : chunk.toString();
14+
while ((chunk = stream.read() as string) !== null) {
15+
result += chunk;
1616
}
1717
});
1818

packages/formatters/src/junit.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ export const junit: Formatter = (results, { failSeverity }) => {
4848
const classname = source.replace(new RegExp(`${escapeRegExp(extname(source))}$`), '');
4949

5050
if (validationResults.length > 0) {
51-
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
52-
const filteredValidationResults = validationResults.filter(result => result.severity <= failSeverity);
51+
const filteredValidationResults = validationResults.filter(
52+
result => Number(result.severity) <= Number(failSeverity),
53+
);
5354

5455
output += `<testsuite package="org.spectral" time="0" tests="${filteredValidationResults.length}" errors="0" failures="${filteredValidationResults.length}" name="${source}">\n`;
5556

packages/formatters/src/markdown.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ export const markdown: Formatter = (results, { failSeverity }, ctx?: FormatterCo
1313
validationResults.sort((a, b) => a.range.start.line - b.range.start.line);
1414

1515
if (validationResults.length > 0) {
16-
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
17-
const filteredValidationResults = validationResults.filter(result => result.severity <= failSeverity);
16+
const filteredValidationResults = validationResults.filter(
17+
result => Number(result.severity) <= Number(failSeverity),
18+
);
1819

1920
for (const result of filteredValidationResults) {
2021
const ruleDocumentationUrl = getRuleDocumentationUrl(result.code, ctx);

0 commit comments

Comments
 (0)