Skip to content

Commit f326b4b

Browse files
author
Andy
authored
Make import fix for default import mention that it's a default import (microsoft#26105)
1 parent 1599ee2 commit f326b4b

9 files changed

+17
-9
lines changed

src/compiler/diagnosticMessages.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4296,6 +4296,14 @@
42964296
"category": "Message",
42974297
"code": 90031
42984298
},
4299+
"Import default '{0}' from module \"{1}\"": {
4300+
"category": "Message",
4301+
"code": 90032
4302+
},
4303+
"Add default import '{0}' to existing import declaration from \"{1}\"": {
4304+
"category": "Message",
4305+
"code": 90033
4306+
},
42994307
"Convert function to an ES2015 class": {
43004308
"category": "Message",
43014309
"code": 95001

src/services/codefixes/importFixes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -465,14 +465,14 @@ namespace ts.codefix {
465465
const { importClause, importKind } = fix;
466466
doAddExistingFix(changes, sourceFile, importClause, importKind === ImportKind.Default ? symbolName : undefined, importKind === ImportKind.Named ? [symbolName] : emptyArray);
467467
const moduleSpecifierWithoutQuotes = stripQuotes(importClause.parent.moduleSpecifier.getText());
468-
return [Diagnostics.Add_0_to_existing_import_declaration_from_1, symbolName, moduleSpecifierWithoutQuotes];
468+
return [importKind === ImportKind.Default ? Diagnostics.Add_default_import_0_to_existing_import_declaration_from_1 : Diagnostics.Add_0_to_existing_import_declaration_from_1, symbolName, moduleSpecifierWithoutQuotes]; // you too!
469469
}
470470
case ImportFixKind.AddNew: {
471471
const { importKind, moduleSpecifier } = fix;
472472
addNewImports(changes, sourceFile, moduleSpecifier, quotePreference, importKind === ImportKind.Default ? { defaultImport: symbolName, namedImports: emptyArray, namespaceLikeImport: undefined }
473473
: importKind === ImportKind.Named ? { defaultImport: undefined, namedImports: [symbolName], namespaceLikeImport: undefined }
474474
: { defaultImport: undefined, namedImports: emptyArray, namespaceLikeImport: { importKind, name: symbolName } });
475-
return [Diagnostics.Import_0_from_module_1, symbolName, moduleSpecifier];
475+
return [importKind === ImportKind.Default ? Diagnostics.Import_default_0_from_module_1 : Diagnostics.Import_0_from_module_1, symbolName, moduleSpecifier];
476476
}
477477
default:
478478
return Debug.assertNever(fix);

tests/cases/fourslash/completionsImport_default_addToNamedImports.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ verify.completionListContains({ name: "foo", source: "/a" }, "function foo(): vo
1717
verify.applyCodeActionFromCompletion("", {
1818
name: "foo",
1919
source: "/a",
20-
description: `Add 'foo' to existing import declaration from "./a"`,
20+
description: `Add default import 'foo' to existing import declaration from "./a"`,
2121
newFileContent: `import foo, { x } from "./a";
2222
f;`,
2323
});

tests/cases/fourslash/completionsImport_default_addToNamespaceImport.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ verify.completionListContains({ name: "foo", source: "/a" }, "function foo(): vo
1616
verify.applyCodeActionFromCompletion("", {
1717
name: "foo",
1818
source: "/a",
19-
description: `Add 'foo' to existing import declaration from "./a"`,
19+
description: `Add default import 'foo' to existing import declaration from "./a"`,
2020
newFileContent: `import foo, * as a from "./a";
2121
f;`,
2222
});

tests/cases/fourslash/completionsImport_default_alreadyExistedWithRename.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ verify.completionListContains({ name: "foo", source: "/a" }, "function foo(): vo
1616
verify.applyCodeActionFromCompletion("", {
1717
name: "foo",
1818
source: "/a",
19-
description: `Import 'foo' from module "./a"`,
19+
description: `Import default 'foo' from module "./a"`,
2020
newFileContent: `import f_o_o from "./a";
2121
import foo from "./a";
2222
f;`,

tests/cases/fourslash/completionsImport_default_anonymous.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ verify.completions(
1919
verify.applyCodeActionFromCompletion("1", {
2020
name: "fooBar",
2121
source: "/src/foo-bar",
22-
description: `Import 'fooBar' from module "./foo-bar"`,
22+
description: `Import default 'fooBar' from module "./foo-bar"`,
2323
newFileContent: `import fooBar from "./foo-bar";
2424
2525
def

tests/cases/fourslash/completionsImport_default_didNotExistBefore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ verify.completionListContains({ name: "foo", source: "/a" }, "function foo(): vo
1717
verify.applyCodeActionFromCompletion("", {
1818
name: "foo",
1919
source: "/a",
20-
description: `Import 'foo' from module "./a"`,
20+
description: `Import default 'foo' from module "./a"`,
2121
newFileContent: `import foo from "./a";
2222
2323
f;`,

tests/cases/fourslash/completionsImport_default_exportDefaultIdentifier.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ verify.completionListContains({ name: "foo", source: "/a" }, "(alias) const foo:
2020
verify.applyCodeActionFromCompletion("", {
2121
name: "foo",
2222
source: "/a",
23-
description: `Import 'foo' from module "./a"`,
23+
description: `Import default 'foo' from module "./a"`,
2424
newFileContent: `import foo from "./a";
2525
2626
f;`,

tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ verify.completionListContains({ name: "M", source: "m" }, "class M", "", "class"
2424
verify.applyCodeActionFromCompletion("", {
2525
name: "M",
2626
source: "m",
27-
description: `Import 'M' from module "m"`,
27+
description: `Import default 'M' from module "m"`,
2828
newFileContent: `import M from "m";
2929
3030
`,

0 commit comments

Comments
 (0)