-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(compiler-cli): ensure file_system handles mixed Windows drives #37959
fix(compiler-cli): ensure file_system handles mixed Windows drives #37959
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice and clean! (I was afraid it would get more messy 😅)
Some minor suggestions; otherwise LGTM 🚀
Also, commit message typo: and AbsoluteFsPath
--> an `AbsoluteFsPath`
packages/compiler-cli/src/ngtsc/file_system/test/node_js_file_system_spec.ts
Outdated
Show resolved
Hide resolved
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 result to be a `PathSegment` and then flows that refactoring through the rest of the 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 angular#36777
7be6df8
to
b415f89
Compare
Caretaker: this will need cl/320619026 in order to be synced successfully (manually run the sync tool from a client with this change). |
…ngular#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 result to be a `PathSegment` and then flows that refactoring through the rest of the 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 angular#36777 PR Close angular#37959
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
…ngular#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 result to be a `PathSegment` and then flows that refactoring through the rest of the 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 angular#36777 PR Close angular#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 in some cases
we needed to check whether the result is "rooted", i.e and AbsoluteFsPath,
rather than a
PathSegment
, before using it.Fixes #36777