Tweak heuristics to find the project root and "build root" #16
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.
The project root means "this is a folder containing node_modules/bs-platform/{platform}/bsc.exe".
This path needs to be correct because it drives the formatter.
The "build root" represents the nearest directory containing a "bsconfig.json" file. "bsconfig.json" can be used to locate build artefacts and diagnostics.
The previous heuristics seemed to fail in the case users where using yarn workspaces.
Yarn workspaces seem to have the following layout:
The compiler seems to be located in the
node_modules
under the root and not in thenode_modules
offolder1
.By searching for
bscPartialPath
instead of the nearestbsconfig.json
, we can correctly determine the root.However the
bsconfig.json
indicates the "build root" for the compiler artefacts and diagnostics infolder1
.Fixes #10