From 40fd6aebdcac8ecf730517bd5005591eef2f4bff Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 16 Apr 2018 16:46:27 -0700 Subject: [PATCH] Shrink span for convert-to-es6-module suggestion (#23441) --- src/services/suggestionDiagnostics.ts | 6 +++++- .../fourslash/refactorConvertToEs6Module_export_named.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/services/suggestionDiagnostics.ts b/src/services/suggestionDiagnostics.ts index 1fc1d671e43..d9f55a78d82 100644 --- a/src/services/suggestionDiagnostics.ts +++ b/src/services/suggestionDiagnostics.ts @@ -6,7 +6,7 @@ namespace ts { const diags: Diagnostic[] = []; if (sourceFile.commonJsModuleIndicator) { - diags.push(createDiagnosticForNode(sourceFile.commonJsModuleIndicator, Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module)); + diags.push(createDiagnosticForNode(getErrorNodeFromCommonJsIndicator(sourceFile.commonJsModuleIndicator), Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module)); } const isJsFile = isSourceFileJavaScript(sourceFile); @@ -61,4 +61,8 @@ namespace ts { return undefined; } } + + function getErrorNodeFromCommonJsIndicator(commonJsModuleIndicator: Node): Node { + return isBinaryExpression(commonJsModuleIndicator) ? commonJsModuleIndicator.left : commonJsModuleIndicator; + } } diff --git a/tests/cases/fourslash/refactorConvertToEs6Module_export_named.ts b/tests/cases/fourslash/refactorConvertToEs6Module_export_named.ts index 60d2436ddb0..a748b9844a6 100644 --- a/tests/cases/fourslash/refactorConvertToEs6Module_export_named.ts +++ b/tests/cases/fourslash/refactorConvertToEs6Module_export_named.ts @@ -3,7 +3,7 @@ // @allowJs: true // @Filename: /a.js -////[|exports.f = function() {}|]; +////[|exports.f|] = function() {}; ////exports.C = class {}; ////exports.x = 0; ////exports.a1 = () => {};