From 0b5b7ef5477bc730f48e8086d092df73cd0fbfd4 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 25 Jun 2018 12:41:32 -0700 Subject: [PATCH] Fix removal of default import (#25200) --- src/services/refactors/convertExport.ts | 2 +- tests/cases/fourslash/refactorConvertExport_defaultToNamed.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/refactors/convertExport.ts b/src/services/refactors/convertExport.ts index 6c7710c0fe8..72c72e719b7 100644 --- a/src/services/refactors/convertExport.ts +++ b/src/services/refactors/convertExport.ts @@ -148,7 +148,7 @@ namespace ts.refactor { } else if (namedBindings.kind === SyntaxKind.NamespaceImport) { // `import foo, * as a from "./a";` --> `import * as a from ".a/"; import { foo } from "./a";` - changes.deleteNode(importingSourceFile, ref); + changes.deleteRange(importingSourceFile, { pos: ref.getStart(importingSourceFile), end: namedBindings.getStart(importingSourceFile) }); const quotePreference = isStringLiteral(clause.parent.moduleSpecifier) ? quotePreferenceFromString(clause.parent.moduleSpecifier, importingSourceFile) : QuotePreference.Double; const newImport = makeImport(/*default*/ undefined, [makeImportSpecifier(exportName, ref.text)], clause.parent.moduleSpecifier, quotePreference); changes.insertNodeAfter(importingSourceFile, clause.parent, newImport); diff --git a/tests/cases/fourslash/refactorConvertExport_defaultToNamed.ts b/tests/cases/fourslash/refactorConvertExport_defaultToNamed.ts index 05e3f1f247d..7cf5e5ae03f 100644 --- a/tests/cases/fourslash/refactorConvertExport_defaultToNamed.ts +++ b/tests/cases/fourslash/refactorConvertExport_defaultToNamed.ts @@ -7,7 +7,7 @@ ////import f from "./a"; ////import { default as f } from "./a"; ////import { default as g } from "./a"; -////import f, * as a from "./a"; // TODO: GH#24875 +////import f, * as a from "./a"; //// ////export { default } from "./a"; ////export { default as f } from "./a"; @@ -29,7 +29,7 @@ edit.applyRefactor({ `import { f } from "./a"; import { f } from "./a"; import { f as g } from "./a"; -import, * as a from "./a"; // TODO: GH#24875 +import * as a from "./a"; import { f } from "./a"; export { f as default } from "./a";