From 7281bb7510cceb4cc24c538cea7fde4687df6c8b Mon Sep 17 00:00:00 2001 From: Andrew Casey Date: Thu, 10 May 2018 17:32:49 -0700 Subject: [PATCH] Stop deleting empty named import lists Fixes #23892 --- src/harness/unittests/organizeImports.ts | 9 +++++++++ src/services/organizeImports.ts | 4 +++- .../baselines/reference/organizeImports/Unused_Empty.ts | 7 +++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/organizeImports/Unused_Empty.ts diff --git a/src/harness/unittests/organizeImports.ts b/src/harness/unittests/organizeImports.ts index ebd5a7925a2..b8ee6620f5e 100644 --- a/src/harness/unittests/organizeImports.ts +++ b/src/harness/unittests/organizeImports.ts @@ -243,6 +243,15 @@ D(); import { F1, F2 } from "lib"; import * as NS from "lib"; import D from "lib"; +`, + }, + libFile); + + testOrganizeImports("Unused_Empty", + { + path: "/test.ts", + content: ` +import { } from "lib"; `, }, libFile); diff --git a/src/services/organizeImports.ts b/src/services/organizeImports.ts index 5109b050b6b..d8f80faa55a 100644 --- a/src/services/organizeImports.ts +++ b/src/services/organizeImports.ts @@ -198,7 +198,9 @@ namespace ts.OrganizeImports { : namedImports[0]; const newNamedImports = sortedImportSpecifiers.length === 0 - ? undefined + ? newDefaultImport + ? undefined + : createNamedImports(emptyArray) : namedImports.length === 0 ? createNamedImports(sortedImportSpecifiers) : updateNamedImports(namedImports[0].importClause.namedBindings as NamedImports, sortedImportSpecifiers); diff --git a/tests/baselines/reference/organizeImports/Unused_Empty.ts b/tests/baselines/reference/organizeImports/Unused_Empty.ts new file mode 100644 index 00000000000..88a75aeff8e --- /dev/null +++ b/tests/baselines/reference/organizeImports/Unused_Empty.ts @@ -0,0 +1,7 @@ +// ==ORIGINAL== + +import { } from "lib"; + +// ==ORGANIZED== + +import { } from "lib";