aspect-build / aspect-build/rules_ts
[Bug]: validate doesn't account for tsconfigs that extend
- Dominant language
- Starlark
- Stars
- 138
- Forks
- 87
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 3
Description
### What happened?
@markwolff and I have determined that when using `extends` in `tsconfig` the validation logic won't trigger correctly if some of the attributes come from the file the tsconfig extends from. The way we stumbled across this was NextJS writes to the tsconfig present if things like `preserve_jsx` are missing. This failed on our CI when we tested with EngFlow because EngFlow doesn't allow rules to write back to the sandbox like that. But the rule also passed validation which we do enforce. This seems like an edge case / bug
### Version
Development (host) and target OS/architectures:
Output of `bazel --version`: 7.6.1
rules_ts : 3.4.0
rules_js: 2.1.2
Version of the Aspect rules, or other relevant rules from your
`WORKSPACE` or `MODULE.bazel` file:
Language(s) and/or frameworks involved:
### How to reproduce
```shell
```
### Any other information?
_No response_
Contributor guide
Research direction
Start by locating the validation logic for tsconfig files and reproduce the case where attributes come from an extends file, using the issue's NextJS and EngFlow context. Verify that validation detects inherited attributes and that the rule no longer relies on writing back to the sandbox; the issue provides no specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100