From ec430519a0ac225d884601616a266d7cdbf1dcce Mon Sep 17 00:00:00 2001 From: Luke Autry Date: Sun, 17 Mar 2019 23:36:30 -0400 Subject: [PATCH 1/2] ordered-imports: don't remove text containers linebreaks and text --- src/rules/orderedImportsRule.ts | 5 ++++- test/rules/ordered-imports/groups-complex/test.ts.fix | 2 ++ test/rules/ordered-imports/groups-complex/test.ts.lint | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rules/orderedImportsRule.ts b/src/rules/orderedImportsRule.ts index 8316b542c36..d22f7b8f5d6 100644 --- a/src/rules/orderedImportsRule.ts +++ b/src/rules/orderedImportsRule.ts @@ -538,7 +538,10 @@ class Walker extends Lint.AbstractWalker { if (index > 0) { const prevItems = groupedDeclarations[index - 1]; const last = prevItems[prevItems.length - 1]; - if (/[\r\n]+/.test(this.sourceFile.text.slice(last.nodeEndOffset, start))) { + + const textFragment = this.sourceFile.text.slice(last.nodeEndOffset, start); + const isWhitespace = /[\r\n]+/.test(textFragment) && !/\S/.test(textFragment); + if (isWhitespace) { // remove whitespace between blocks start = last.nodeEndOffset; } diff --git a/test/rules/ordered-imports/groups-complex/test.ts.fix b/test/rules/ordered-imports/groups-complex/test.ts.fix index c7b2def97cd..f9ee5865e32 100644 --- a/test/rules/ordered-imports/groups-complex/test.ts.fix +++ b/test/rules/ordered-imports/groups-complex/test.ts.fix @@ -17,6 +17,8 @@ import './baz'; // required import {bar} from '../bar'; import {xbar} from '../xbar'; +x.fnCall(); + export class Test {} diff --git a/test/rules/ordered-imports/groups-complex/test.ts.lint b/test/rules/ordered-imports/groups-complex/test.ts.lint index c14f4304134..36772342a19 100644 --- a/test/rules/ordered-imports/groups-complex/test.ts.lint +++ b/test/rules/ordered-imports/groups-complex/test.ts.lint @@ -20,6 +20,7 @@ import {foo, afoo} from 'foo'; ~~~~~~~~~ [Named imports must be alphabetized.] import x = require('y'); +x.fnCall(); import './baz'; // required import './baa'; From 208368a0e9abc3e2013ee099016d8a53d1fcd6c8 Mon Sep 17 00:00:00 2001 From: Luke Autry Date: Sun, 17 Mar 2019 23:49:00 -0400 Subject: [PATCH 2/2] simplify regex --- src/rules/orderedImportsRule.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/rules/orderedImportsRule.ts b/src/rules/orderedImportsRule.ts index d22f7b8f5d6..3a2a7655391 100644 --- a/src/rules/orderedImportsRule.ts +++ b/src/rules/orderedImportsRule.ts @@ -540,8 +540,7 @@ class Walker extends Lint.AbstractWalker { const last = prevItems[prevItems.length - 1]; const textFragment = this.sourceFile.text.slice(last.nodeEndOffset, start); - const isWhitespace = /[\r\n]+/.test(textFragment) && !/\S/.test(textFragment); - if (isWhitespace) { + if (!/\S/.test(textFragment)) { // remove whitespace between blocks start = last.nodeEndOffset; }