diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts
index e5914d10060..03d2e0453b1 100644
--- a/src/compiler/declarationEmitter.ts
+++ b/src/compiler/declarationEmitter.ts
@@ -104,7 +104,7 @@ namespace ts {
// Emit references corresponding to this file
let emittedReferencedFiles: SourceFile[] = [];
forEach(host.getSourceFiles(), sourceFile => {
- if (!isExternalModuleOrDeclarationFile(sourceFile)) {
+ if (!isExternalModuleOrDeclarationFile(sourceFile) && !isJavaScript(sourceFile.fileName)) {
// Check what references need to be added
if (!compilerOptions.noResolve) {
forEach(sourceFile.referencedFiles, fileReference => {
diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts
index 56e996662c8..bb9cb0a44e5 100644
--- a/src/compiler/emitter.ts
+++ b/src/compiler/emitter.ts
@@ -88,7 +88,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
let jsFilePath = getOwnEmitOutputFilePath(targetSourceFile, host, shouldEmitJsx(targetSourceFile) ? ".jsx" : ".js");
emitFile(jsFilePath, targetSourceFile);
}
- else if (!isDeclarationFile(targetSourceFile) && (compilerOptions.outFile || compilerOptions.out)) {
+ else if (!isDeclarationFile(targetSourceFile) &&
+ !isJavaScript(targetSourceFile.fileName) &&
+ (compilerOptions.outFile || compilerOptions.out)) {
emitFile(compilerOptions.outFile || compilerOptions.out);
}
}
@@ -199,7 +201,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
}
else {
forEach(host.getSourceFiles(), sourceFile => {
- if (!isExternalModuleOrDeclarationFile(sourceFile)) {
+ if (!isJavaScript(sourceFile.fileName) && !isExternalModuleOrDeclarationFile(sourceFile)) {
emitSourceFile(sourceFile);
}
});
diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts
index cae0923094c..696d2f481e0 100644
--- a/src/compiler/utilities.ts
+++ b/src/compiler/utilities.ts
@@ -1778,7 +1778,7 @@ namespace ts {
}
export function shouldEmitToOwnFile(sourceFile: SourceFile, compilerOptions: CompilerOptions): boolean {
- if (!isDeclarationFile(sourceFile)) {
+ if (!isDeclarationFile(sourceFile) && !isJavaScript(sourceFile.fileName)) {
if ((isExternalModule(sourceFile) || !(compilerOptions.outFile || compilerOptions.out))) {
// 1. in-browser single file compilation scenario
// 2. non supported extension file
diff --git a/tests/baselines/reference/getEmitOutputWithDeclarationFile3.baseline b/tests/baselines/reference/getEmitOutputWithDeclarationFile3.baseline
index e99a1023070..1ce3d9f33c3 100644
--- a/tests/baselines/reference/getEmitOutputWithDeclarationFile3.baseline
+++ b/tests/baselines/reference/getEmitOutputWithDeclarationFile3.baseline
@@ -2,5 +2,4 @@ EmitSkipped: false
FileName : declSingle.js
var x = "hello";
var x1 = 1000;
-var x2 = 1000;
diff --git a/tests/baselines/reference/jsFileCompilationAmbientVarDeclarationSyntax.errors.txt b/tests/baselines/reference/jsFileCompilationAmbientVarDeclarationSyntax.errors.txt
index d3175d9f116..a210385d996 100644
--- a/tests/baselines/reference/jsFileCompilationAmbientVarDeclarationSyntax.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationAmbientVarDeclarationSyntax.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,1): error TS8009: 'declare' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
declare var v;
~~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationDecoratorSyntax.errors.txt b/tests/baselines/reference/jsFileCompilationDecoratorSyntax.errors.txt
index 80fb4ded96d..6017ddc7a11 100644
--- a/tests/baselines/reference/jsFileCompilationDecoratorSyntax.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationDecoratorSyntax.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,1): error TS8017: 'decorators' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
@internal class C { }
~~~~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationEmitDeclarations.js b/tests/baselines/reference/jsFileCompilationEmitDeclarations.js
index c6711e4e85f..4c9f6802fd9 100644
--- a/tests/baselines/reference/jsFileCompilationEmitDeclarations.js
+++ b/tests/baselines/reference/jsFileCompilationEmitDeclarations.js
@@ -15,11 +15,8 @@ var c = (function () {
}
return c;
})();
-function foo() {
-}
//// [out.d.ts]
declare class c {
}
-declare function foo(): void;
diff --git a/tests/baselines/reference/jsFileCompilationEmitTrippleSlashReference.js b/tests/baselines/reference/jsFileCompilationEmitTrippleSlashReference.js
index 04f36213b1b..33077f3038f 100644
--- a/tests/baselines/reference/jsFileCompilationEmitTrippleSlashReference.js
+++ b/tests/baselines/reference/jsFileCompilationEmitTrippleSlashReference.js
@@ -19,15 +19,8 @@ var c = (function () {
}
return c;
})();
-function bar() {
-}
-///
-function foo() {
-}
//// [out.d.ts]
declare class c {
}
-declare function bar(): void;
-declare function foo(): void;
diff --git a/tests/baselines/reference/jsFileCompilationEnumSyntax.errors.txt b/tests/baselines/reference/jsFileCompilationEnumSyntax.errors.txt
index bc0bb189c95..6b9d97e55bb 100644
--- a/tests/baselines/reference/jsFileCompilationEnumSyntax.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationEnumSyntax.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,6): error TS8015: 'enum declarations' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
enum E { }
~
diff --git a/tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.errors.txt b/tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.errors.txt
index f64628d3bc9..a349e2bca13 100644
--- a/tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,1): error TS8003: 'export=' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
export = b;
~~~~~~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationHeritageClauseSyntaxOfClass.errors.txt b/tests/baselines/reference/jsFileCompilationHeritageClauseSyntaxOfClass.errors.txt
index cf030d3c4f2..df014047b35 100644
--- a/tests/baselines/reference/jsFileCompilationHeritageClauseSyntaxOfClass.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationHeritageClauseSyntaxOfClass.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,9): error TS8005: 'implements clauses' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
class C implements D { }
~~~~~~~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationImportEqualsSyntax.errors.txt b/tests/baselines/reference/jsFileCompilationImportEqualsSyntax.errors.txt
index 54314ef431e..e53bf2ac860 100644
--- a/tests/baselines/reference/jsFileCompilationImportEqualsSyntax.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationImportEqualsSyntax.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,1): error TS8002: 'import ... =' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
import a = b;
~~~~~~~~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationInterfaceSyntax.errors.txt b/tests/baselines/reference/jsFileCompilationInterfaceSyntax.errors.txt
index 07fc015fc72..c46c3c05b3f 100644
--- a/tests/baselines/reference/jsFileCompilationInterfaceSyntax.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationInterfaceSyntax.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,11): error TS8006: 'interface declarations' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
interface I { }
~
diff --git a/tests/baselines/reference/jsFileCompilationModuleSyntax.errors.txt b/tests/baselines/reference/jsFileCompilationModuleSyntax.errors.txt
index e63eede29bd..8748064cc96 100644
--- a/tests/baselines/reference/jsFileCompilationModuleSyntax.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationModuleSyntax.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,8): error TS8007: 'module declarations' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
module M { }
~
diff --git a/tests/baselines/reference/jsFileCompilationOptionalParameter.errors.txt b/tests/baselines/reference/jsFileCompilationOptionalParameter.errors.txt
index 1eefd3b8eae..68b131d39f9 100644
--- a/tests/baselines/reference/jsFileCompilationOptionalParameter.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationOptionalParameter.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,13): error TS8009: '?' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
function F(p?) { }
~
diff --git a/tests/baselines/reference/jsFileCompilationPropertySyntaxOfClass.errors.txt b/tests/baselines/reference/jsFileCompilationPropertySyntaxOfClass.errors.txt
index 613dc7a51a3..0ecf6f3c666 100644
--- a/tests/baselines/reference/jsFileCompilationPropertySyntaxOfClass.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationPropertySyntaxOfClass.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,11): error TS8014: 'property declarations' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
class C { v }
~
diff --git a/tests/baselines/reference/jsFileCompilationPublicMethodSyntaxOfClass.errors.txt b/tests/baselines/reference/jsFileCompilationPublicMethodSyntaxOfClass.errors.txt
index 8585285c1ed..907775c7be6 100644
--- a/tests/baselines/reference/jsFileCompilationPublicMethodSyntaxOfClass.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationPublicMethodSyntaxOfClass.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(2,5): error TS8009: 'public' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
class C {
public foo() {
diff --git a/tests/baselines/reference/jsFileCompilationPublicParameterModifier.errors.txt b/tests/baselines/reference/jsFileCompilationPublicParameterModifier.errors.txt
index aac386f2dd1..e5072278f4c 100644
--- a/tests/baselines/reference/jsFileCompilationPublicParameterModifier.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationPublicParameterModifier.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,23): error TS8012: 'parameter modifiers' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
class C { constructor(public x) { }}
~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationRestParameter.js b/tests/baselines/reference/jsFileCompilationRestParameter.js
index bcba97af024..d28299c543a 100644
--- a/tests/baselines/reference/jsFileCompilationRestParameter.js
+++ b/tests/baselines/reference/jsFileCompilationRestParameter.js
@@ -2,4 +2,3 @@
function foo(...a) { }
//// [b.js]
-function foo(...a) { }
diff --git a/tests/baselines/reference/jsFileCompilationReturnTypeSyntaxOfFunction.errors.txt b/tests/baselines/reference/jsFileCompilationReturnTypeSyntaxOfFunction.errors.txt
index 48528b14531..50746dcfc82 100644
--- a/tests/baselines/reference/jsFileCompilationReturnTypeSyntaxOfFunction.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationReturnTypeSyntaxOfFunction.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,15): error TS8010: 'types' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
function F(): number { }
~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationSyntaxError.errors.txt b/tests/baselines/reference/jsFileCompilationSyntaxError.errors.txt
index d742e68dbdc..1ca6e251788 100644
--- a/tests/baselines/reference/jsFileCompilationSyntaxError.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationSyntaxError.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(3,6): error TS1223: 'type' tag already specified.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
/**
* @type {number}
diff --git a/tests/baselines/reference/jsFileCompilationTypeAliasSyntax.errors.txt b/tests/baselines/reference/jsFileCompilationTypeAliasSyntax.errors.txt
index 3afd84da9be..6af5751ea85 100644
--- a/tests/baselines/reference/jsFileCompilationTypeAliasSyntax.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationTypeAliasSyntax.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,1): error TS8008: 'type aliases' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
type a = b;
~~~~~~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationTypeArgumentSyntaxOfCall.errors.txt b/tests/baselines/reference/jsFileCompilationTypeArgumentSyntaxOfCall.errors.txt
index 78a92e9460a..cade211aa63 100644
--- a/tests/baselines/reference/jsFileCompilationTypeArgumentSyntaxOfCall.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationTypeArgumentSyntaxOfCall.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,5): error TS8011: 'type arguments' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
Foo();
~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationTypeAssertions.errors.txt b/tests/baselines/reference/jsFileCompilationTypeAssertions.errors.txt
index d7c8faab8dc..de1e1038db6 100644
--- a/tests/baselines/reference/jsFileCompilationTypeAssertions.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationTypeAssertions.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,10): error TS8016: 'type assertion expressions' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
var v = undefined;
~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationTypeOfParameter.errors.txt b/tests/baselines/reference/jsFileCompilationTypeOfParameter.errors.txt
index 41638f51077..ae3fd23c6ef 100644
--- a/tests/baselines/reference/jsFileCompilationTypeOfParameter.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationTypeOfParameter.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,15): error TS8010: 'types' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
function F(a: number) { }
~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationTypeParameterSyntaxOfClass.errors.txt b/tests/baselines/reference/jsFileCompilationTypeParameterSyntaxOfClass.errors.txt
index 6267d2f37fe..708ff378137 100644
--- a/tests/baselines/reference/jsFileCompilationTypeParameterSyntaxOfClass.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationTypeParameterSyntaxOfClass.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,9): error TS8004: 'type parameter declarations' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
class C { }
~
diff --git a/tests/baselines/reference/jsFileCompilationTypeParameterSyntaxOfFunction.errors.txt b/tests/baselines/reference/jsFileCompilationTypeParameterSyntaxOfFunction.errors.txt
index 4a5e222058b..391e8f476da 100644
--- a/tests/baselines/reference/jsFileCompilationTypeParameterSyntaxOfFunction.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationTypeParameterSyntaxOfFunction.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,12): error TS8004: 'type parameter declarations' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
function F() { }
~
diff --git a/tests/baselines/reference/jsFileCompilationTypeSyntaxOfVar.errors.txt b/tests/baselines/reference/jsFileCompilationTypeSyntaxOfVar.errors.txt
index ceef95023df..a4486a5d49d 100644
--- a/tests/baselines/reference/jsFileCompilationTypeSyntaxOfVar.errors.txt
+++ b/tests/baselines/reference/jsFileCompilationTypeSyntaxOfVar.errors.txt
@@ -1,8 +1,6 @@
-error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
tests/cases/compiler/a.js(1,8): error TS8010: 'types' can only be used in a .ts file.
-!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
==== tests/cases/compiler/a.js (1 errors) ====
var v: () => number;
~~~~~~~~~~~~
diff --git a/tests/baselines/reference/jsFileCompilationWithOut.js b/tests/baselines/reference/jsFileCompilationWithOut.js
index 32d0261061f..7bab7b973ab 100644
--- a/tests/baselines/reference/jsFileCompilationWithOut.js
+++ b/tests/baselines/reference/jsFileCompilationWithOut.js
@@ -15,5 +15,3 @@ var c = (function () {
}
return c;
})();
-function foo() {
-}
diff --git a/tests/baselines/reference/jsFileCompilationWithoutOut.errors.txt b/tests/baselines/reference/jsFileCompilationWithoutOut.errors.txt
deleted file mode 100644
index 32a60df0996..00000000000
--- a/tests/baselines/reference/jsFileCompilationWithoutOut.errors.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-error TS5054: Could not write file 'tests/cases/compiler/b.js' which is one of the input files.
-
-
-!!! error TS5054: Could not write file 'tests/cases/compiler/b.js' which is one of the input files.
-==== tests/cases/compiler/a.ts (0 errors) ====
- class c {
- }
-
-==== tests/cases/compiler/b.js (0 errors) ====
- function foo() {
- }
-
\ No newline at end of file
diff --git a/tests/baselines/reference/jsFileCompilationWithoutOut.symbols b/tests/baselines/reference/jsFileCompilationWithoutOut.symbols
new file mode 100644
index 00000000000..5260b8d6cf3
--- /dev/null
+++ b/tests/baselines/reference/jsFileCompilationWithoutOut.symbols
@@ -0,0 +1,10 @@
+=== tests/cases/compiler/a.ts ===
+class c {
+>c : Symbol(c, Decl(a.ts, 0, 0))
+}
+
+=== tests/cases/compiler/b.js ===
+function foo() {
+>foo : Symbol(foo, Decl(b.js, 0, 0))
+}
+
diff --git a/tests/baselines/reference/jsFileCompilationWithoutOut.types b/tests/baselines/reference/jsFileCompilationWithoutOut.types
new file mode 100644
index 00000000000..dce83eeb8eb
--- /dev/null
+++ b/tests/baselines/reference/jsFileCompilationWithoutOut.types
@@ -0,0 +1,10 @@
+=== tests/cases/compiler/a.ts ===
+class c {
+>c : c
+}
+
+=== tests/cases/compiler/b.js ===
+function foo() {
+>foo : () => void
+}
+
diff --git a/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/amd/test.d.ts b/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/amd/test.d.ts
index bbae04a30bf..4c0b8989316 100644
--- a/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/amd/test.d.ts
+++ b/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/amd/test.d.ts
@@ -1,2 +1 @@
declare var test: number;
-declare var test2: number;
diff --git a/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/amd/test.js b/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/amd/test.js
index f2115703462..e757934f20c 100644
--- a/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/amd/test.js
+++ b/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/amd/test.js
@@ -1,2 +1 @@
var test = 10;
-var test2 = 10; // Should get compiled
diff --git a/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/node/test.d.ts b/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/node/test.d.ts
index bbae04a30bf..4c0b8989316 100644
--- a/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/node/test.d.ts
+++ b/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/node/test.d.ts
@@ -1,2 +1 @@
declare var test: number;
-declare var test2: number;
diff --git a/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/node/test.js b/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/node/test.js
index f2115703462..e757934f20c 100644
--- a/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/node/test.js
+++ b/tests/baselines/reference/project/jsFileCompilationDifferentNamesNotSpecified/node/test.js
@@ -1,2 +1 @@
var test = 10;
-var test2 = 10; // Should get compiled
diff --git a/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/amd/test.d.ts b/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/amd/test.d.ts
index bbae04a30bf..4c0b8989316 100644
--- a/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/amd/test.d.ts
+++ b/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/amd/test.d.ts
@@ -1,2 +1 @@
declare var test: number;
-declare var test2: number;
diff --git a/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/amd/test.js b/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/amd/test.js
index f2115703462..e757934f20c 100644
--- a/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/amd/test.js
+++ b/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/amd/test.js
@@ -1,2 +1 @@
var test = 10;
-var test2 = 10; // Should get compiled
diff --git a/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/node/test.d.ts b/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/node/test.d.ts
index bbae04a30bf..4c0b8989316 100644
--- a/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/node/test.d.ts
+++ b/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/node/test.d.ts
@@ -1,2 +1 @@
declare var test: number;
-declare var test2: number;
diff --git a/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/node/test.js b/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/node/test.js
index f2115703462..e757934f20c 100644
--- a/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/node/test.js
+++ b/tests/baselines/reference/project/jsFileCompilationDifferentNamesSpecified/node/test.js
@@ -1,2 +1 @@
var test = 10;
-var test2 = 10; // Should get compiled