From c697d952001eb1de7a0ffcbb00ee8f420582d275 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Mon, 31 Oct 2022 09:56:41 +0900 Subject: [PATCH] feat: ignore comment that isn't inside block --- lib/rules/no-empty-static-block.js | 13 ++++--------- tests/lib/rules/no-empty-static-block.js | 4 ++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/rules/no-empty-static-block.js b/lib/rules/no-empty-static-block.js index ed5c24de618..dd154797e9f 100644 --- a/lib/rules/no-empty-static-block.js +++ b/lib/rules/no-empty-static-block.js @@ -4,12 +4,6 @@ */ "use strict"; -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -37,10 +31,11 @@ module.exports = { return { StaticBlock(node) { - const innerComments = sourceCode.getTokens(node, { - includeComments: true, - filter: astUtils.isCommentToken + const [blockOpenToken] = sourceCode.getFirstTokens(node, { + filter: token => token.type === "Punctuator" && token.value === "{" }); + const innerComments = + sourceCode.getCommentsInside(node).filter(commentToken => blockOpenToken.range[1] < commentToken.range[0]); if (node.body.length === 0 && innerComments.length === 0) { context.report({ diff --git a/tests/lib/rules/no-empty-static-block.js b/tests/lib/rules/no-empty-static-block.js index 7e7176cc5cf..592c840ff3d 100644 --- a/tests/lib/rules/no-empty-static-block.js +++ b/tests/lib/rules/no-empty-static-block.js @@ -42,6 +42,10 @@ ruleTester.run("no-empty-static-block", rule, { { code: "class Foo { static { bar(); } static {} }", errors: [{ messageId: "unexpected" }] + }, + { + code: "class Foo { static // comment\n {} }", + errors: [{ messageId: "unexpected" }] } ] });