Skip to content

Commit 2860435

Browse files
committed
Do not emit javascript files
1 parent 14b6082 commit 2860435

40 files changed

Lines changed: 26 additions & 80 deletions

File tree

src/compiler/declarationEmitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ namespace ts {
104104
// Emit references corresponding to this file
105105
let emittedReferencedFiles: SourceFile[] = [];
106106
forEach(host.getSourceFiles(), sourceFile => {
107-
if (!isExternalModuleOrDeclarationFile(sourceFile)) {
107+
if (!isExternalModuleOrDeclarationFile(sourceFile) && !isJavaScript(sourceFile.fileName)) {
108108
// Check what references need to be added
109109
if (!compilerOptions.noResolve) {
110110
forEach(sourceFile.referencedFiles, fileReference => {

src/compiler/emitter.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
8888
let jsFilePath = getOwnEmitOutputFilePath(targetSourceFile, host, shouldEmitJsx(targetSourceFile) ? ".jsx" : ".js");
8989
emitFile(jsFilePath, targetSourceFile);
9090
}
91-
else if (!isDeclarationFile(targetSourceFile) && (compilerOptions.outFile || compilerOptions.out)) {
91+
else if (!isDeclarationFile(targetSourceFile) &&
92+
!isJavaScript(targetSourceFile.fileName) &&
93+
(compilerOptions.outFile || compilerOptions.out)) {
9294
emitFile(compilerOptions.outFile || compilerOptions.out);
9395
}
9496
}
@@ -199,7 +201,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
199201
}
200202
else {
201203
forEach(host.getSourceFiles(), sourceFile => {
202-
if (!isExternalModuleOrDeclarationFile(sourceFile)) {
204+
if (!isJavaScript(sourceFile.fileName) && !isExternalModuleOrDeclarationFile(sourceFile)) {
203205
emitSourceFile(sourceFile);
204206
}
205207
});

src/compiler/utilities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1778,7 +1778,7 @@ namespace ts {
17781778
}
17791779

17801780
export function shouldEmitToOwnFile(sourceFile: SourceFile, compilerOptions: CompilerOptions): boolean {
1781-
if (!isDeclarationFile(sourceFile)) {
1781+
if (!isDeclarationFile(sourceFile) && !isJavaScript(sourceFile.fileName)) {
17821782
if ((isExternalModule(sourceFile) || !(compilerOptions.outFile || compilerOptions.out))) {
17831783
// 1. in-browser single file compilation scenario
17841784
// 2. non supported extension file

tests/baselines/reference/getEmitOutputWithDeclarationFile3.baseline

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ EmitSkipped: false
22
FileName : declSingle.js
33
var x = "hello";
44
var x1 = 1000;
5-
var x2 = 1000;
65

tests/baselines/reference/jsFileCompilationAmbientVarDeclarationSyntax.errors.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
21
tests/cases/compiler/a.js(1,1): error TS8009: 'declare' can only be used in a .ts file.
32

43

5-
!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
64
==== tests/cases/compiler/a.js (1 errors) ====
75
declare var v;
86
~~~~~~~

tests/baselines/reference/jsFileCompilationDecoratorSyntax.errors.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
21
tests/cases/compiler/a.js(1,1): error TS8017: 'decorators' can only be used in a .ts file.
32

43

5-
!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
64
==== tests/cases/compiler/a.js (1 errors) ====
75
@internal class C { }
86
~~~~~~~~~

tests/baselines/reference/jsFileCompilationEmitDeclarations.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,8 @@ var c = (function () {
1515
}
1616
return c;
1717
})();
18-
function foo() {
19-
}
2018

2119

2220
//// [out.d.ts]
2321
declare class c {
2422
}
25-
declare function foo(): void;

tests/baselines/reference/jsFileCompilationEmitTrippleSlashReference.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,8 @@ var c = (function () {
1919
}
2020
return c;
2121
})();
22-
function bar() {
23-
}
24-
/// <reference path="c.js"/>
25-
function foo() {
26-
}
2722

2823

2924
//// [out.d.ts]
3025
declare class c {
3126
}
32-
declare function bar(): void;
33-
declare function foo(): void;

tests/baselines/reference/jsFileCompilationEnumSyntax.errors.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
21
tests/cases/compiler/a.js(1,6): error TS8015: 'enum declarations' can only be used in a .ts file.
32

43

5-
!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
64
==== tests/cases/compiler/a.js (1 errors) ====
75
enum E { }
86
~

tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.errors.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
21
tests/cases/compiler/a.js(1,1): error TS8003: 'export=' can only be used in a .ts file.
32

43

5-
!!! error TS5054: Could not write file 'tests/cases/compiler/a.js' which is one of the input files.
64
==== tests/cases/compiler/a.js (1 errors) ====
75
export = b;
86
~~~~~~~~~~~

0 commit comments

Comments
 (0)