diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a66a7edcf18..495b85fc05f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2241,7 +2241,7 @@ namespace ts { const sourceFile = resolvedModule && !resolutionDiagnostic && host.getSourceFile(resolvedModule.resolvedFileName); if (sourceFile) { if (sourceFile.symbol) { - if (resolvedModule.isExternalLibraryImport && !extensionIsTS(resolvedModule.extension)) { + if (resolvedModule.isExternalLibraryImport && !resolutionExtensionIsTSOrJson(resolvedModule.extension)) { errorOnImplicitAnyModule(/*isError*/ false, errorNode, resolvedModule, moduleReference); } // merged symbol is module declaration symbol combined with all augmentations diff --git a/tests/cases/fourslash/codeFixCannotFindModule_suggestion_falsePositive.ts b/tests/cases/fourslash/codeFixCannotFindModule_suggestion_falsePositive.ts new file mode 100644 index 00000000000..123d59d82a3 --- /dev/null +++ b/tests/cases/fourslash/codeFixCannotFindModule_suggestion_falsePositive.ts @@ -0,0 +1,16 @@ +/// + +// @moduleResolution: node +// @resolveJsonModule: true +// @strict: true + +// @Filename: /node_modules/foo/bar.json +////export const x = 0; + +// @Filename: /a.ts +////import abs = require([|"foo/bar.json"|]); +////abs; + +verify.noErrors(); +goTo.file("/a.ts"); +verify.getSuggestionDiagnostics([]);