Make javascript require goto def similar to ts import equals (#36487)

Fixes #34996
This commit is contained in:
Sheetal Nandi
2020-01-28 16:23:56 -08:00
committed by GitHub
parent 39311da27b
commit 869a8211fc
3 changed files with 33 additions and 1 deletions

View File

@@ -207,6 +207,15 @@ namespace ts.GoToDefinition {
return aliased;
}
}
if (symbol && isInJSFile(node)) {
const requireCall = forEach(symbol.declarations, d => isVariableDeclaration(d) && !!d.initializer && isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true) ? d.initializer : undefined);
if (requireCall) {
const moduleSymbol = checker.getSymbolAtLocation(requireCall.arguments[0]);
if (moduleSymbol) {
return checker.resolveExternalModuleSymbol(moduleSymbol);
}
}
}
return symbol;
}