diff --git a/eslint/babel-eslint-parser/acorn-to-esprima.js b/eslint/babel-eslint-parser/acorn-to-esprima.js index 82983ca1de..c30023ef36 100644 --- a/eslint/babel-eslint-parser/acorn-to-esprima.js +++ b/eslint/babel-eslint-parser/acorn-to-esprima.js @@ -70,7 +70,9 @@ exports.toTokens = function (tokens) { // transform tokens to type "Template" convertTemplateType(tokens); - return tokens.map(exports.toToken); + return tokens.filter(function (token) { + return token.type !== "CommentLine" && token.type !== "CommentBlock"; + }).map(exports.toToken); }; function convertTemplateType(tokens) { diff --git a/eslint/babel-eslint-parser/test/non-regression.js b/eslint/babel-eslint-parser/test/non-regression.js index ed857f0e2a..27f8f299e1 100644 --- a/eslint/babel-eslint-parser/test/non-regression.js +++ b/eslint/babel-eslint-parser/test/non-regression.js @@ -1193,4 +1193,29 @@ describe("verify", function () { [] ); }); + + it("excludes comment tokens #153", function () { + verifyAndAssertMessages( + [ + "var a = [", + "1,", + "2, // a trailing comment makes this line fail comma-dangle (always-multiline)", + "];", + ].join("\n"), + { "comma-dangle": [2, "always-multiline"] }, + [] + ); + + verifyAndAssertMessages( + [ + "switch (a) {", + "// A comment here makes the above line fail brace-style", + "case 1:", + "console.log(a);", + "}" + ].join("\n"), + { "brace-style": 2 }, + [] + ); + }); });