diff --git a/src/services/importTracker.ts b/src/services/importTracker.ts index d2ce802f177..faeb832350e 100644 --- a/src/services/importTracker.ts +++ b/src/services/importTracker.ts @@ -107,6 +107,11 @@ namespace ts.FindAllReferences { if (namedBindings && namedBindings.kind === SyntaxKind.NamespaceImport) { handleNamespaceImport(direct, namedBindings.name); } + else if (isDefaultImport(direct)) { + const sourceFileLike = getSourceFileLikeForImportDeclaration(direct); + addIndirectUser(sourceFileLike); // Add a check for indirect uses to handle synthetic default imports + directImports.push(direct); + } else { directImports.push(direct); } diff --git a/tests/cases/fourslash/esModuleInteropFindAllReferences.ts b/tests/cases/fourslash/esModuleInteropFindAllReferences.ts new file mode 100644 index 00000000000..9ead793a867 --- /dev/null +++ b/tests/cases/fourslash/esModuleInteropFindAllReferences.ts @@ -0,0 +1,12 @@ +// @esModuleInterop: true + +// @Filename: /abc.d.ts +////declare module "a" { +//// export const [|x|]: number; +////} + +// @Filename: /b.ts +////import * as a from "a"; +////a.[|x|]; + +verify.rangesReferenceEachOther(); \ No newline at end of file