@@ -4139,6 +4139,19 @@ let transformTests = {
4139
4139
assert . strictEqual ( ( await esbuild . transform ( input , { loader : 'ts' , tsconfigRaw : { compilerOptions : { alwaysStrict : true , strict : false } } } ) ) . code , `"use strict";\nconsole.log(123);\n` )
4140
4140
} ,
4141
4141
4142
+ async tsconfigRawTarget ( { esbuild } ) {
4143
+ // The "target" from "tsconfig.json" should apply, but esbuild's "target" should override
4144
+
4145
+ assert . strictEqual ( ( await esbuild . transform ( 'x => x' , { loader : 'ts' , tsconfigRaw : { compilerOptions : { target : 'ES6' } } } ) ) . code , `(x) => x;\n` )
4146
+ assert . strictEqual ( ( await esbuild . transform ( 'x => x' , { loader : 'ts' , tsconfigRaw : { compilerOptions : { target : 'ES5' } } } ) ) . code , `(function(x) {\n return x;\n});\n` )
4147
+
4148
+ assert . strictEqual ( ( await esbuild . transform ( 'x => x' , { loader : 'ts' , target : 'es6' } ) ) . code , `(x) => x;\n` )
4149
+ assert . strictEqual ( ( await esbuild . transform ( 'x => x' , { loader : 'ts' , target : 'es5' } ) ) . code , `(function(x) {\n return x;\n});\n` )
4150
+
4151
+ assert . strictEqual ( ( await esbuild . transform ( 'x => x' , { loader : 'ts' , target : 'es5' , tsconfigRaw : { compilerOptions : { target : 'ES6' } } } ) ) . code , `(function(x) {\n return x;\n});\n` )
4152
+ assert . strictEqual ( ( await esbuild . transform ( 'x => x' , { loader : 'ts' , target : 'es6' , tsconfigRaw : { compilerOptions : { target : 'ES5' } } } ) ) . code , `(x) => x;\n` )
4153
+ } ,
4154
+
4142
4155
async tsImplicitUseDefineForClassFields ( { esbuild } ) {
4143
4156
var { code } = await esbuild . transform ( `class Foo { foo }` , {
4144
4157
loader : 'ts' ,
0 commit comments