Swallow the directory watcher exceptions and ignore them#19058
Merged
Conversation
Member
Author
ghost
reviewed
Oct 10, 2017
| let dirPath = getDirectoryPath(failedLookupLocationPath); | ||
|
|
||
| // If directory path contains node module, get the most parent node_modules directory for watching | ||
| while (dirPath.indexOf("/node_modules/") !== -1) { |
There was a problem hiding this comment.
We could use a stringContains helper function.
| const sys = <ServerHost>ts.sys; | ||
| // use watchGuard process on Windows when node version is 4 or later | ||
| const useWatchGuard = process.platform === "win32" && getNodeMajorVersion() >= 4; | ||
| const originalWatchDirectory = sys.watchDirectory; |
There was a problem hiding this comment.
For type safety, consider const originalWatchDirectory: ServerHost["watchDirectory"] = sys.watchDirectory.bind(sys); and call it like a normal function.
But what if sys.watchDirectory is absent -- apparently this is optional?
Contributor
There was a problem hiding this comment.
+1 for @Andy-MS's suggession.
Also consider adding a comment why we swallow these exceptions e.g. in the Linux case
Member
Author
There was a problem hiding this comment.
It is optional but tsserver had it like that all the time.
mhegazy
approved these changes
Oct 10, 2017
ghost
approved these changes
Oct 11, 2017
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Fixes ENOSPC results in "Error: No Project" #18996