Closed Knagis closed 2 weeks ago
Updated/simplified reproduction repo, now it reproduces the stated error as is and uncommenting outDir
in the derived tsconfig.json prevents it.
tsc --showConfig
with inherited outDir:
{
"compilerOptions": {
"outDir": "./lib",
"composite": true,
"declaration": true,
"incremental": true
},
"files": [
"./lib/src/index.d.ts",
"./lib/src/index.spec.d.ts",
"./src/index.spec.ts",
"./src/index.ts"
],
"include": [
"**/*.ts"
]
}
the same with outDir defined in the derived config:
{
"compilerOptions": {
"outDir": "./lib",
"composite": true,
"declaration": true,
"incremental": true
},
"files": [
"./src/index.spec.ts",
"./src/index.ts"
],
"include": [
"**/*.ts"
],
"exclude": [
"lib"
]
}
ok, so the issue isn't really configDir - but that the outDir from base config isn't ever applied as exclude rule. if i specify outDir: "packages/foo/lib"
in the root, the same issue appears. Just that before ${configDir}
it never made sense to not have outDir
specified in the derived config file.
for my added confusion, for some reason, with 5.5.0 it doesn't seem enough to specify outDir in the derived config anymore in my monorepo, i have to instead explicitly, manually add the folder to exclude list, which wasn't needed in 5.4.5. but maybe this is some cache playing a role, even though i build with -f
π Search Terms
configDir
π Version & Regression Information
This is likely bug with feature introduced in 5.5.0
β― Playground Link
https://github.com/Knagis/importHelpers-5.5.0/tree/exclude-lib
π» Code
tsconfig.base.json
packages/foo/tsconfig.json
π Actual behavior
When using
outDir: "${configDir}/lib"
in the base config, compiling this project results inπ Expected behavior
Project compiles without errors
Additional information about the issue
If i specify
outDir: "lib"
or evenoutDir: "${configDir}/lib"
in the derived config, the project compiles without errors as the lib folder seems to be automatically excluded from the compilation.