@@ -122,12 +122,19 @@ function getUseDefineForClassFields(compilerOptions: ts.CompilerOptions, target:
122122export function tsCompilerOptionsToSwcConfig ( options : ts . CompilerOptions , filename : string ) : Options {
123123 const isJsx = filename . endsWith ( '.tsx' ) || filename . endsWith ( '.jsx' ) || Boolean ( options . jsx )
124124 const target = options . target ?? ts . ScriptTarget . ES2018
125+
126+ const enableInlineSourceMap =
127+ options . inlineSourceMap ??
128+ ( typeof process . env . SWC_NODE_INLINE_SOURCE_MAP === 'string'
129+ ? Boolean ( process . env . SWC_NODE_INLINE_SOURCE_MAP )
130+ : undefined )
131+
125132 return {
126133 module : toModule ( options . module ?? ts . ModuleKind . ES2015 ) ,
127134 target : toTsTarget ( target ) ,
128135 jsx : isJsx ,
129136 // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
130- sourcemap : options . sourceMap || options . inlineSourceMap ? 'inline' : Boolean ( options . sourceMap ) ,
137+ sourcemap : options . sourceMap || enableInlineSourceMap ? 'inline' : Boolean ( options . sourceMap ) ,
131138 experimentalDecorators : options . experimentalDecorators ?? false ,
132139 emitDecoratorMetadata : options . emitDecoratorMetadata ?? false ,
133140 useDefineForClassFields : getUseDefineForClassFields ( options , target ) ,
@@ -155,7 +162,7 @@ export function tsCompilerOptionsToSwcConfig(options: ts.CompilerOptions, filena
155162 ignoreDynamic : Boolean ( process . env . SWC_NODE_IGNORE_DYNAMIC ) ,
156163 swc : {
157164 sourceRoot : options . sourceRoot ,
158- inputSourceMap : options . inlineSourceMap ,
165+ inputSourceMap : enableInlineSourceMap ,
159166 } ,
160167 }
161168}
0 commit comments