diff --git a/src/services/importTracker.ts b/src/services/importTracker.ts index 75b96c48caf31..f53b7ffad490f 100644 --- a/src/services/importTracker.ts +++ b/src/services/importTracker.ts @@ -579,6 +579,9 @@ namespace ts.FindAllReferences { else if (isBinaryExpression(decl)) { // `module.exports = class {}` return Debug.assertDefined(decl.right.symbol); } + else if (isSourceFile(decl)) { // json module + return Debug.assertDefined(decl.symbol); + } return Debug.fail(); } diff --git a/tests/cases/fourslash/findAllReferencesOfJsonModule.ts b/tests/cases/fourslash/findAllReferencesOfJsonModule.ts new file mode 100644 index 0000000000000..36f700b09e6c2 --- /dev/null +++ b/tests/cases/fourslash/findAllReferencesOfJsonModule.ts @@ -0,0 +1,14 @@ +/// + +// @resolveJsonModule: true +// @module: commonjs +// @esModuleInterop: true + +// @Filename: /foo.ts +////import [|{| "isWriteAccess": true, "isDefinition": true |}settings|] from "./settings.json"; +////[|settings|]; + +// @Filename: /settings.json +//// {} + +verify.singleReferenceGroup("import settings");