From 035989c5d33af27b5323b120a43287ca9eef15c2 Mon Sep 17 00:00:00 2001 From: Moulik Aggarwal Date: Fri, 16 Oct 2020 12:15:28 +0530 Subject: [PATCH 1/3] fix(eslint-plugin): [no-unused-vars] SelfReferenced should see varsIgnorePattern Signed-off-by: Moulik Aggarwal --- .../eslint-plugin/src/rules/no-unused-vars.ts | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/eslint-plugin/src/rules/no-unused-vars.ts b/packages/eslint-plugin/src/rules/no-unused-vars.ts index 8753452dd09..6f9a5a7942e 100644 --- a/packages/eslint-plugin/src/rules/no-unused-vars.ts +++ b/packages/eslint-plugin/src/rules/no-unused-vars.ts @@ -26,7 +26,7 @@ export default util.createRule({ }, }, defaultOptions: [{}], - create(context) { + create(context, [varsIgnorePattern]) { const rules = baseRule.create(context); const filename = context.getFilename(); const MODULE_DECL_CACHE = new Map(); @@ -197,15 +197,20 @@ export default util.createRule({ return false; }); if (isOnlySelfReferenced) { - context.report({ - node: variable.identifiers[0], - messageId: 'unusedVar', - data: { - varName: variable.name, - action: 'defined', - additional: '', - }, - }); + if ( + varsIgnorePattern && + varsIgnorePattern.toString() !== variable.name + ) { + context.report({ + node: variable.identifiers[0], + messageId: 'unusedVar', + data: { + varName: variable.name, + action: 'defined', + additional: '', + }, + }); + } } }, From d3e470b278f37700f40a55c0b1a426dcd9c876f1 Mon Sep 17 00:00:00 2001 From: Moulik Aggarwal Date: Mon, 19 Oct 2020 11:40:07 +0530 Subject: [PATCH 2/3] fix(eslint-plugin): [no-unused-vars] Updated using regex patterns Signed-off-by: Moulik Aggarwal --- .../eslint-plugin/src/rules/no-unused-vars.ts | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/packages/eslint-plugin/src/rules/no-unused-vars.ts b/packages/eslint-plugin/src/rules/no-unused-vars.ts index 6f9a5a7942e..66e313c00ee 100644 --- a/packages/eslint-plugin/src/rules/no-unused-vars.ts +++ b/packages/eslint-plugin/src/rules/no-unused-vars.ts @@ -26,7 +26,7 @@ export default util.createRule({ }, }, defaultOptions: [{}], - create(context, [varsIgnorePattern]) { + create(context, [options]) { const rules = baseRule.create(context); const filename = context.getFilename(); const MODULE_DECL_CACHE = new Map(); @@ -196,21 +196,24 @@ export default util.createRule({ } return false; }); + const varIgnorePattern = + typeof options === 'object' && options.varsIgnorePattern != null + ? new RegExp(options.varsIgnorePattern, 'u') + : null; if (isOnlySelfReferenced) { - if ( - varsIgnorePattern && - varsIgnorePattern.toString() !== variable.name - ) { - context.report({ - node: variable.identifiers[0], - messageId: 'unusedVar', - data: { - varName: variable.name, - action: 'defined', - additional: '', - }, - }); + if (varIgnorePattern && varIgnorePattern.test(variable.name)) { + return; } + context.report({ + node: variable.identifiers[0], + messageId: 'unusedVar', + data: { + varName: variable.name, + action: 'defined', + additional: '', + }, + }); + // } } }, From 7f0002a482d11fdeadb104b60e25922ed5655e40 Mon Sep 17 00:00:00 2001 From: Moulik Aggarwal Date: Mon, 19 Oct 2020 12:00:52 +0530 Subject: [PATCH 3/3] fix: resolved lint errors Signed-off-by: Moulik Aggarwal --- packages/eslint-plugin/src/rules/no-unused-vars.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/eslint-plugin/src/rules/no-unused-vars.ts b/packages/eslint-plugin/src/rules/no-unused-vars.ts index 66e313c00ee..5a93a962bed 100644 --- a/packages/eslint-plugin/src/rules/no-unused-vars.ts +++ b/packages/eslint-plugin/src/rules/no-unused-vars.ts @@ -201,7 +201,7 @@ export default util.createRule({ ? new RegExp(options.varsIgnorePattern, 'u') : null; if (isOnlySelfReferenced) { - if (varIgnorePattern && varIgnorePattern.test(variable.name)) { + if (varIgnorePattern?.test(variable.name)) { return; } context.report({ @@ -213,7 +213,6 @@ export default util.createRule({ additional: '', }, }); - // } } },