Exclude node_modules in module resolution #161
Merged
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.
/cc @sandersn
For #131 and alike, this seems to happen when a project is large.
In one of my project I was able to repro it, and while debugging I found:
https://github.com/octref/vetur/blob/master/server/src/modes/javascriptMode.ts#L50-L67
Then later in here:
https://github.com/octref/vetur/blob/master/server/src/modes/javascriptMode.ts#L89-L109
This function is called for each files. So for the whole worksapce it's called 6k times, one time for each js/ts/vue file, and then for each file TS was resolving all modules in them...
I don't know if this PR is the right approach, but it seems to solve the problem.
@sandersn
Meanwhile in #136 (comment) you said
Do you mean
maxNodeModuleJsDepth? That might help solving this issue, but how is the depth calculated?