From 9df5b415350ccd3832db156e5f9752cf7b6de173 Mon Sep 17 00:00:00 2001 From: Remco Haszing Date: Tue, 11 May 2021 22:17:41 +0200 Subject: [PATCH] [fix] `jsx-uses-vars`: ignore namespaces JSX namespaces are transpiled into strings, not identifiers. --- lib/rules/jsx-uses-vars.js | 7 ++++--- tests/lib/rules/jsx-uses-vars.js | 8 +------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/lib/rules/jsx-uses-vars.js b/lib/rules/jsx-uses-vars.js index 86a32f1f46..2ccdc5d360 100644 --- a/lib/rules/jsx-uses-vars.js +++ b/lib/rules/jsx-uses-vars.js @@ -26,10 +26,11 @@ module.exports = { return { JSXOpeningElement(node) { let name; - if (node.name.namespace && node.name.namespace.name) { + if (node.name.namespace) { // - name = node.name.namespace.name; - } else if (node.name.name) { + return; + } + if (node.name.name) { // name = node.name.name; } else if (node.name.object) { diff --git a/tests/lib/rules/jsx-uses-vars.js b/tests/lib/rules/jsx-uses-vars.js index b93e7c3547..ce02d7fc29 100644 --- a/tests/lib/rules/jsx-uses-vars.js +++ b/tests/lib/rules/jsx-uses-vars.js @@ -79,12 +79,6 @@ ruleTester.run('no-unused-vars', ruleNoUnusedVars, { var App; ` - }, { - code: ` - /* eslint jsx-uses-vars: 1 */ - var App; - - ` }, { code: ` /* eslint jsx-uses-vars: 1 */ @@ -143,7 +137,7 @@ ruleTester.run('no-unused-vars', ruleNoUnusedVars, { var Hello; React.render(); `, - errors: [{message: '\'Hello\' is defined but never used.'}] + errors: [{message: '\'App\' is defined but never used.'}, {message: '\'Hello\' is defined but never used.'}] }, { code: ` /* eslint jsx-uses-vars: 1 */