microsoft / microsoft/TypeScript
`references` are not inherited in `tsconfig.json`
Open
@RyanCavanaugh is already working on this.
Since Dec 14, 2018.
Docs
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
TypeScript Version: 3.1.0-dev.20180914
Search Terms: tsconfig.json extends references inheritance
It seems that the references key is not inherited via the extends mechanism, which surprised me because the handbook doesn't mention anything special about it.
Demo:
tsconfig.base.json:
{
"references": [
{ "path": "./some/other/project" }
],
"compilerOptions": {
"declaration": true,
"composite": true
}
}
tsconfig.doesnt-work.json:
{
"extends": "./tsconfig.base.json"
}
Building tsconfig.doesnt-work.json doesn't build the reference:
$ tsc -b -f -d tsconfig.doesnt-work.json
[11:12:13] A non-dry build would build project 'C:/demo/tsconfig.doesnt-work.json'
tsconfig.works-but-duplicates-references.json:
{
"extends": "./tsconfig.base.json",
"references": [
{ "path": "./some/other/project" }
],
}
This is a correct build but I had to duplicate the references key:
$ tsc -b -f -d tsconfig.works-but-duplicates-references.json
[11:12:13] A non-dry build would build project 'C:/demo/tsconfig.works-but-duplicates-references.json'
[11:12:13] A non-dry build would build project 'C:/demo/some/other/project/tsconfig.json'
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.