diff --git a/packages/plugin-eslint/src/lib/runner/transform.ts b/packages/plugin-eslint/src/lib/runner/transform.ts index 28c1f99b2..53dfcdc5f 100644 --- a/packages/plugin-eslint/src/lib/runner/transform.ts +++ b/packages/plugin-eslint/src/lib/runner/transform.ts @@ -66,9 +66,13 @@ function convertIssue(issue: LintIssue): Issue { file: issue.filePath, position: { startLine: issue.line, - startColumn: issue.column, - endLine: issue.endLine, - endColumn: issue.endColumn, + ...(issue.column > 0 && { startColumn: issue.column }), + ...(issue.endLine && + issue.endLine > 0 && { + endLine: issue.endLine, + }), + ...(issue.endColumn && + issue.endColumn > 0 && { endColumn: issue.endColumn }), }, }, }; diff --git a/packages/plugin-eslint/src/lib/runner/transform.unit.test.ts b/packages/plugin-eslint/src/lib/runner/transform.unit.test.ts index 653b50e18..84149002e 100644 --- a/packages/plugin-eslint/src/lib/runner/transform.unit.test.ts +++ b/packages/plugin-eslint/src/lib/runner/transform.unit.test.ts @@ -60,6 +60,18 @@ describe('lintResultsToAudits', () => { }, ], }, + { + filePath: 'src/app/graphql/generated.ts', + messages: [ + { + ruleId: 'unicorn/no-abusive-eslint-disable', + message: 'Specify the rules you want to disable', + severity: 1, + line: 1, + column: 0, // testing we omit non-positive columns + }, + ], + }, { filePath: 'src/app/pages/settings.component.ts', messages: [ @@ -78,13 +90,22 @@ describe('lintResultsToAudits', () => { 'src/app/app.component.ts': { 'max-lines': [500], '@typescript-eslint/no-explicit-any': [], + 'unicorn/no-abusive-eslint-disable': [], }, 'src/app/pages/settings.component.ts': { 'max-lines': [500], + '@typescript-eslint/no-explicit-any': [], + 'unicorn/no-abusive-eslint-disable': [], + }, + 'src/app/graphql/generated.ts': { + 'max-lines': [500], + '@typescript-eslint/no-explicit-any': [], + 'unicorn/no-abusive-eslint-disable': [], }, 'src/app/app.component.spec.ts': { 'max-lines': [800], '@typescript-eslint/no-explicit-any': [], + 'unicorn/no-abusive-eslint-disable': [], }, }, }), @@ -182,6 +203,24 @@ describe('lintResultsToAudits', () => { ], }, }, + { + slug: 'unicorn-no-abusive-eslint-disable', + score: 0, + value: 1, + displayValue: '1 warning', + details: { + issues: [ + { + message: 'Specify the rules you want to disable', + severity: 'warning', + source: { + file: 'src/app/graphql/generated.ts', + position: { startLine: 1 }, + }, + }, + ], + }, + }, ] satisfies AuditOutput[]); }); });