From 3025cddf0a2ea8461ce05575098a5714fcf6278d Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Mon, 19 Nov 2018 06:40:47 +0800 Subject: [PATCH] Update: don't indent leading semi in line after import (fixes #11082) (#11085) --- lib/rules/indent.js | 6 +++++- tests/lib/rules/indent.js | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/rules/indent.js b/lib/rules/indent.js index dc9fbaf908b..0b87412c8fc 100644 --- a/lib/rules/indent.js +++ b/lib/rules/indent.js @@ -1229,9 +1229,13 @@ module.exports = { } const fromToken = sourceCode.getLastToken(node, token => token.type === "Identifier" && token.value === "from"); + const sourceToken = sourceCode.getLastToken(node, token => token.type === "String"); + const semiToken = sourceCode.getLastToken(node, token => token.type === "Punctuator" && token.value === ";"); if (fromToken) { - offsets.setDesiredOffsets([fromToken.range[0], node.range[1]], sourceCode.getFirstToken(node), 1); + const end = semiToken && semiToken.range[1] === sourceToken.range[1] ? node.range[1] : sourceToken.range[1]; + + offsets.setDesiredOffsets([fromToken.range[0], end], sourceCode.getFirstToken(node), 1); } }, diff --git a/tests/lib/rules/indent.js b/tests/lib/rules/indent.js index b25e259499d..07e025f303f 100644 --- a/tests/lib/rules/indent.js +++ b/tests/lib/rules/indent.js @@ -271,6 +271,17 @@ ruleTester.run("indent", rule, { `, options: [4] }, + { + + // https://github.com/eslint/eslint/issues/11802 + code: unIndent` + import foo from "foo" + + ;(() => {})() + `, + options: [4], + parserOptions: { sourceType: "module" } + }, { code: unIndent` function test() {