fix(compiler-cli): ensure file_system handles mixed Windows drives BACKPORT #38030
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.
This is a backport of #37959
The
fs.relative()
method assumed that the file-system is a single tree,which is not the case in Windows, where you can have multiple drives,
e.g.
C:
,D:
etc.This commit changes
fs.relative()
so that it no longer forces the resultto be a
PathSegment
and then flows that refactoring through the rest ofthe compiler-cli (and ngcc). The main difference is that now, in some cases,
we needed to check whether the result is "rooted", i.e an
AbsoluteFsPath
,rather than a
PathSegment
, before using it.Fixes #36777