Skip to content

Report errors correctly by invalidating super set of affected files#25534

Closed
sheetalkamat wants to merge 1 commit into
masterfrom
changeInDeepImportedFile
Closed

Report errors correctly by invalidating super set of affected files#25534
sheetalkamat wants to merge 1 commit into
masterfrom
changeInDeepImportedFile

Conversation

@sheetalkamat
Copy link
Copy Markdown
Member

Fixes #24986
The issue reported was with the graph a -> b -> c
When change was made c, the declaration file for b doesnt change (it still remains import {C}from "./c" export class B{ c: C}). From emit persepctive file a.ts doesnt need to be emitted (since its not part of affected files by that change) and without deleting errors for a.ts we wont see new error.
With this change, whenever change in declaration file for c happens, we not only delete errors for b.ts, we will delete errors for a.ts (since it references b.ts) and any file that will reference a.ts as well. This will hamper the performance in scenarios where errors didnt change (eg if a.ts never referenced b.c.d property) but finding out such dependencies would be costlier than re-generating errors.

@sheetalkamat sheetalkamat force-pushed the changeInDeepImportedFile branch from 82529f7 to edd0007 Compare July 10, 2018 17:53
@mhegazy
Copy link
Copy Markdown
Contributor

mhegazy commented Jul 10, 2018

Do we need to do anything here? is there a better way to detect cases where these transitive dependencies lead to invalidation? seems like most of the time transitive dependencies do not introduce errors. seems like this is a drastic change..

@sheetalkamat
Copy link
Copy Markdown
Member Author

Closing in favor of #25593

@sheetalkamat sheetalkamat deleted the changeInDeepImportedFile branch July 12, 2018 20:27
@microsoft microsoft locked as resolved and limited conversation to collaborators Oct 21, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants