fix(@ngtools/webpack): Fix cache invalidation error when watching #5164
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update of #4009 by @rynclark to latest version of codebase.
TypeScript caches the contents of source files within the program
to minimize redundant compilation of non-changing code. This cache
is not invalidated in @ngtools/webpack, causing two issues:
1. When the watcher is triggered, the old version of the source
is used. A second save is necessary for changes to take effect.
2. When a change would result in a compilation error, the initial
save will pass without errors. Subsequent saves, even saves
containing fixes to the original error, will continue to fail
with the original error. This is likely caused by TypeScript
trying to compare any new programs against an invalid prior
program state.
Possibly also addresses #4566.
Signed-off-by: RandomBK [email protected]