-
Notifications
You must be signed in to change notification settings - Fork 12.8k
TSC build errors not reported with output cache #42874
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This seems like configuration error from |
Gave that a try in the repro repo, and it worked! Interesting, I would have expected transitive type changes to be picked up. While the d.ts files for |
references are not transitive and you have to list them all if you need and use those |
Okay, thank you for confirming. I'll go ahead and mark this as closed. |
Just to report back, this resulted in a |
cc @DanielRosenwasser for FYI |
So just catching myself up here: is the current behavior that project references have behavior that's similar to That is, a change to |
That is my understanding from the explanation. If the d.ts files emitted for That's assuming these refs.
And the suggestion was that
|
Project level.. Not within the project. |
Yeah, I was just trying to put together a good analogy. That does seems kind of surprising.
@brieb this is configuration in your |
Adding transitive projects affected 877 of our tsconfig.json files. We have 992 projects, in total. |
Just to report back - We got the diff down to Though another issue is that we have MANDATORY_REVIEWERS files in the root of most of our project that require review from one of the teams listed in the file if something in their project folder changes. The dev experience would be poor if adding a dependency to my project resulted in updating the tsconfigs of all projects that depend on my project, potentially incurring mandatory reviews. So, we're looking into generating the tsconfigs containing the transitive dependencies automatically during the build step instead of checking them in. This isn't ideal because the tsconfigs people are developing with locally don't match what's running in CI, and the lack of listing transitive deps could also affect other things like |
Bug Report
When running
tsc -b
on a project with a pre-existing output directory, we were not seeing errors reported even though they are present in the editor. Removing the output directory and runningtsc -b
again resulted in reporting the errors as expected.🔎 Search Terms
build, cache, tsbuild.info, errors missing
Possibly related issue: #42769
🕗 Version & Regression Information
💻 Code
https://github.com/brieb/ts-issue-build-cache
Repro steps:
Git checkout the repro repo and run
yarn
Run
./node_modules/.bin/tsc -b frontend/proj-03/tsconfig.json
Change contents of
frontend/proj-01/Component1.tsx
to(as diff)
Save the file and make no other changes.
Re-run
./node_modules/.bin/tsc -b frontend/proj-03/tsconfig.json
🙁 Actual behavior
No errors are reported even though we'd expect an error to be reported for
frontend/proj-03/Component3.tsx
But if we run
rm -rf .tsbuild
then./node_modules/.bin/tsc -b frontend/proj-03/tsconfig.json
, we do see the error as expected.🙂 Expected behavior
We would expect the following error to be reported
The text was updated successfully, but these errors were encountered: