diff --git a/src/services/suggestionDiagnostics.ts b/src/services/suggestionDiagnostics.ts index 0c8ec58798c..8bc36316908 100644 --- a/src/services/suggestionDiagnostics.ts +++ b/src/services/suggestionDiagnostics.ts @@ -32,7 +32,7 @@ namespace ts { } check(sourceFile); - if (!isJsFile) { + if (!isJsFile && sourceFile.externalModuleIndicator) { for (const statement of sourceFile.statements) { if (isVariableStatement(statement) && statement.declarationList.flags & NodeFlags.Const && diff --git a/tests/cases/fourslash/codeFixRequireInTs.ts b/tests/cases/fourslash/codeFixRequireInTs.ts index 345b15f69f2..176a01ebe4a 100644 --- a/tests/cases/fourslash/codeFixRequireInTs.ts +++ b/tests/cases/fourslash/codeFixRequireInTs.ts @@ -1,7 +1,8 @@ /// -// @Filename: /a.ts +////export {}; ////const a = [|require("a")|]; +////a; verify.getSuggestionDiagnostics([{ message: "'require' call may be converted to an import.", @@ -11,5 +12,8 @@ verify.getSuggestionDiagnostics([{ verify.codeFix({ description: "Convert 'require' to 'import'", newFileContent: -`import a = require("a");`, +// TODO: GH#23781 +`export {}; + import a = require("a"); +a;`, }); diff --git a/tests/cases/fourslash/codeFixRequireInTs_all.ts b/tests/cases/fourslash/codeFixRequireInTs_all.ts index 9f9fe4824a8..a23215cb364 100644 --- a/tests/cases/fourslash/codeFixRequireInTs_all.ts +++ b/tests/cases/fourslash/codeFixRequireInTs_all.ts @@ -1,6 +1,6 @@ /// -// @Filename: /a.ts +////export {}; ////const a = [|require("a")|]; ////const b = [|require("b")|]; @@ -8,6 +8,8 @@ verify.codeFixAll({ fixId: "requireInTs", fixAllDescription: "Convert all 'require' to 'import'", newFileContent: -`import a = require("a"); +// TODO: GH#23781 +`export {}; + import a = require("a"); import b = require("b");`, }); diff --git a/tests/cases/fourslash/codeFixRequireInTs_allowSyntheticDefaultImports.ts b/tests/cases/fourslash/codeFixRequireInTs_allowSyntheticDefaultImports.ts index 949387af2e5..634d701215c 100644 --- a/tests/cases/fourslash/codeFixRequireInTs_allowSyntheticDefaultImports.ts +++ b/tests/cases/fourslash/codeFixRequireInTs_allowSyntheticDefaultImports.ts @@ -2,10 +2,15 @@ // @allowSyntheticDefaultImports: true -// @Filename: /a.ts +////export {}; ////const a = [|require("a")|]; +////a; verify.codeFix({ description: "Convert 'require' to 'import'", - newFileContent: `import a from "a";`, + newFileContent: +// TODO: GH#23781 +`export {}; + import a from "a"; +a;`, }); diff --git a/tests/cases/fourslash/codeFixRequireInTs_onlyIfModule.ts b/tests/cases/fourslash/codeFixRequireInTs_onlyIfModule.ts new file mode 100644 index 00000000000..b3c923c356c --- /dev/null +++ b/tests/cases/fourslash/codeFixRequireInTs_onlyIfModule.ts @@ -0,0 +1,5 @@ +/// + +////const a = [|require("a")|]; + +verify.getSuggestionDiagnostics([]);