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([]);