typescript outDir setting in tsconfig.json not working
If you are using the incremental
compiler option, you may not be getting output if you have deleted / modified files in your outDir
but have not removed the .tsbuildinfo
file.
My issue was a bit different, but Google brought me here - so figured others may also.
This is my folder structure.
Keep the typescript files in src folder and keep the tsconfig.json in root.
In tsconfig json file add foldername for outDir in compilerOptions
"compilerOptions": {
"outDir": "build",
"module": "commonjs",
"target": "es6",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noImplicitAny": true,
"sourceMap": true
},
and run the below commands.
just cd to the root folder and type
tsc
or
tsc --outDir .
which will build the outDir folder with js and map.js files.
source: https://github.com/Microsoft/TypeScript/issues/10585
In my case it was being ignored because I had noEmit: true
in tsconfig.json
. For whatever reason, the files still were emitted, but in the same directory instead of following outDir
.
The config file was read correctly and this error also appeared when using the flag.
When you pass in files for compilation with tsc src/index.ts
, your tsconfig.json
is ignored.
From the documentation:
When input files are specified on the command line, tsconfig.json files are ignored.
Your npm build script should just be tsc
without passing any files.