From 84a8d342f2d7eb3263f0c6b9e65d4cfa6cb61ff7 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Fri, 5 Jun 2015 05:24:20 -0400 Subject: [PATCH] Merge pull request babel/babel-eslint#121 from hzoo/i-120 don't visit var decl - fixes babel/babel-eslint#120 --- eslint/babel-eslint-parser/index.js | 5 ++++- eslint/babel-eslint-parser/test/non-regression.js | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/eslint/babel-eslint-parser/index.js b/eslint/babel-eslint-parser/index.js index 3c764c99f8..074a0720a5 100644 --- a/eslint/babel-eslint-parser/index.js +++ b/eslint/babel-eslint-parser/index.js @@ -232,7 +232,10 @@ function monkeypatch() { referencer.prototype.VariableDeclaration = function(node) { if (node.declarations) { for (var i = 0; i < node.declarations.length; i++) { - checkIdentifierOrVisit.call(this, node.declarations[i].id); + var type = node.declarations[i].id.typeAnnotation; + if (type) { + checkIdentifierOrVisit.call(this, type); + } } } variableDeclaration.call(this, node); diff --git a/eslint/babel-eslint-parser/test/non-regression.js b/eslint/babel-eslint-parser/test/non-regression.js index 598498afab..c21096f930 100644 --- a/eslint/babel-eslint-parser/test/non-regression.js +++ b/eslint/babel-eslint-parser/test/non-regression.js @@ -950,7 +950,7 @@ describe("verify", function () { it("array #9", function () { verifyAndAssertMessages([ "let arr = [1, 2, 3];", - "let b = [for (e of arr) String(e)];" + "let b = [for (e of arr) String(e)]; b;" ].join("\n"), { "no-unused-vars": 1, "no-undef": 1 }, [] @@ -1082,4 +1082,12 @@ describe("verify", function () { ); }); }); + + it("detects minimal no-unused-vars case #120", function () { + verifyAndAssertMessages( + "var unused;", + { "no-unused-vars": 1 }, + [ "1:4 unused is defined but never used no-unused-vars" ] + ) + }); });