From 06dab5ef3347ba0dd60bf613462975c8ef860109 Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Fri, 4 May 2018 08:56:58 -0700 Subject: [PATCH 1/2] Simplify getOutputExtension --- src/compiler/emitter.ts | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index f8ceaf4610f51..2c6c5e2606f0c 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -67,18 +67,7 @@ namespace ts { // For TypeScript, the only time to emit with a '.jsx' extension, is on JSX input, and JsxEmit.Preserve /* @internal */ export function getOutputExtension(sourceFile: SourceFile, options: CompilerOptions): Extension { - if (options.jsx === JsxEmit.Preserve) { - if (isSourceFileJavaScript(sourceFile)) { - if (fileExtensionIs(sourceFile.fileName, Extension.Jsx)) { - return Extension.Jsx; - } - } - else if (sourceFile.languageVariant === LanguageVariant.JSX) { - // TypeScript source file preserving JSX syntax - return Extension.Jsx; - } - } - return Extension.Js; + return options.jsx === JsxEmit.Preserve && sourceFile.languageVariant === LanguageVariant.JSX && !fileExtensionIs(sourceFile.fileName, Extension.Js) ? Extension.Jsx : Extension.Js; } /*@internal*/ From 6281ffd0dcb3830989970fd87e574a51a4e99a8c Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Fri, 4 May 2018 09:36:43 -0700 Subject: [PATCH 2/2] Use isSourceFileJavaScript --- src/compiler/emitter.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 2c6c5e2606f0c..aa0a2f218368d 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -67,7 +67,10 @@ namespace ts { // For TypeScript, the only time to emit with a '.jsx' extension, is on JSX input, and JsxEmit.Preserve /* @internal */ export function getOutputExtension(sourceFile: SourceFile, options: CompilerOptions): Extension { - return options.jsx === JsxEmit.Preserve && sourceFile.languageVariant === LanguageVariant.JSX && !fileExtensionIs(sourceFile.fileName, Extension.Js) ? Extension.Jsx : Extension.Js; + const jsx = options.jsx === JsxEmit.Preserve && (isSourceFileJavaScript(sourceFile) + ? fileExtensionIs(sourceFile.fileName, Extension.Jsx) + : sourceFile.languageVariant === LanguageVariant.JSX); + return jsx ? Extension.Jsx : Extension.Js; } /*@internal*/