Skip to content
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

Implements virtual packages as a FS layer rather than symlinks #303

Merged
merged 8 commits into from
Jul 24, 2019

Conversation

arcanis
Copy link
Member

@arcanis arcanis commented Jul 24, 2019

This diff reimplements the virtual package logic to use a virtual filesystem layer instead of a hard. This has many advantages:

  • Doesn't require the Developer Mode to be enabled for symlinks to be working on Windows
  • Makes it possible to store the cache on a separate disk letter on Windows
  • Doesn't require users to keep a bunch of symlinks in their directories (which was confusing)

One disadvantage is that it further abstracts the file access logic, making it more difficult for tools written in third-party languages to interop with our installs (I have Flow in mind). That said, given that these tools already have similar issues with our installs (because of the zip layer) and have a relatively low usage, it might be acceptable for now.

Note that this doesn't cause any issue with TypeScript, because TypeScript is implemented in JavaScript and thus transparently benefits from our FS layer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant