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
Any other information?
No response
What happened?
@markwolff and I have determined that when using
extendsintsconfigthe 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 likepreserve_jsxare 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 / bugVersion
Development (host) and target OS/architectures:
Output of
bazel --version: 7.6.1rules_ts : 3.4.0
rules_js: 2.1.2
Version of the Aspect rules, or other relevant rules from your
WORKSPACEorMODULE.bazelfile:Language(s) and/or frameworks involved:
How to reproduce
Any other information?
No response