emit input non .ts files as separate files when 'allowNonTsExtensions' and 'separateCompilation' flags are specified (used in 'transpile' related scenarios)

This commit is contained in:
Vladimir Matveev 2015-05-04 11:21:35 -07:00
parent 282c1d2139
commit 60f3fe3de2

View File

@ -1435,8 +1435,11 @@ module ts {
export function shouldEmitToOwnFile(sourceFile: SourceFile, compilerOptions: CompilerOptions): boolean {
if (!isDeclarationFile(sourceFile)) {
if ((isExternalModule(sourceFile) || !compilerOptions.out) && !fileExtensionIs(sourceFile.fileName, ".js")) {
return true;
if ((isExternalModule(sourceFile) || !compilerOptions.out)) {
// 1. in-browser single file compilation scenario
// 2. non .js file
return (compilerOptions.separateCompilation && compilerOptions.allowNonTsExtensions) ||
!fileExtensionIs(sourceFile.fileName, ".js");
}
return false;
}