From 03c53c60b3cee382a93b033e64711bb02bb67043 Mon Sep 17 00:00:00 2001 From: Bryan Mishkin <698306+bmish@users.noreply.github.com> Date: Wed, 3 Aug 2022 22:27:43 -0400 Subject: [PATCH 1/2] fix: reporting location for no-unused-placeholders --- lib/rules/no-unused-placeholders.js | 2 +- tests/lib/rules/no-unused-placeholders.js | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/rules/no-unused-placeholders.js b/lib/rules/no-unused-placeholders.js index 61f17adb..39683798 100644 --- a/lib/rules/no-unused-placeholders.js +++ b/lib/rules/no-unused-placeholders.js @@ -107,7 +107,7 @@ module.exports = { const key = utils.getKeyName(prop); if (!placeholdersInMessage.has(key)) { context.report({ - node: message, + node: prop, messageId: 'placeholderUnused', data: { unusedKey: key }, }); diff --git a/tests/lib/rules/no-unused-placeholders.js b/tests/lib/rules/no-unused-placeholders.js index 8679d0c4..abcabd1e 100644 --- a/tests/lib/rules/no-unused-placeholders.js +++ b/tests/lib/rules/no-unused-placeholders.js @@ -17,8 +17,12 @@ const RuleTester = require('eslint').RuleTester; * @param {string} unusedKey The placeholder that is unused * @returns {object} An expected error */ -function error(unusedKey, type = 'Literal') { - return { type, message: `The placeholder {{${unusedKey}}} is unused.` }; +function error(unusedKey, extra) { + return { + type: 'Property', // The property in the report's `data` object for the unused placeholder. + message: `The placeholder {{${unusedKey}}} is unused.`, + ...extra, + }; } // ------------------------------------------------------------------------------ @@ -208,7 +212,18 @@ ruleTester.run('no-unused-placeholders', rule, { } }; `, - errors: [error('bar')], + errors: [ + error( + 'bar', + // report on property in data object + { + line: 7, + endLine: 7, + column: 23, + endColumn: 26, + } + ), + ], }, { // With `create` as variable. @@ -238,7 +253,7 @@ ruleTester.run('no-unused-placeholders', rule, { } }; `, - errors: [error('bar', 'Identifier')], + errors: [error('bar')], }, { code: ` From 52101a165d234c13b3f29fff0478eb591b798669 Mon Sep 17 00:00:00 2001 From: Bryan Mishkin <698306+bmish@users.noreply.github.com> Date: Wed, 3 Aug 2022 23:48:18 -0400 Subject: [PATCH 2/2] improve test --- tests/lib/rules/no-missing-placeholders.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/lib/rules/no-missing-placeholders.js b/tests/lib/rules/no-missing-placeholders.js index 3390c75f..4a42b5ab 100644 --- a/tests/lib/rules/no-missing-placeholders.js +++ b/tests/lib/rules/no-missing-placeholders.js @@ -236,7 +236,19 @@ ruleTester.run('no-missing-placeholders', rule, { } }; `, - errors: [error('bar', 'Literal')], + errors: [ + error( + 'bar', + 'Literal', + // report on `message` + { + line: 6, + endLine: 6, + column: 24, + endColumn: 37, + } + ), + ], }, { code: `