You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The idea is to use fuse to emulate node modules dirs.
This way we can have 1:1 replacement for current nm linker: No migration, no preparation, but eliminates linking step.
For macos we can use nfs server as fallback.
POC: https://github.com/goloveychuk/yarn-plugin-fuse
Caveats: nfs mount and mount without fusermount util requires root. Can be helped a bit by installing helper with setuid flag (still need one root escalation).
Implementation caveats: while it's easy to do readonly tree, postinstalls do writes.
There are multiple solutions. Linux supports overlayfs, for macOS we can reimplement it, partially (although it's complicated). Other solution: ahead of time do "unplug" and passthrough package dir in nm tree to real dir (easy to implement).
Wdyt?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
The idea is to use fuse to emulate node modules dirs.
This way we can have 1:1 replacement for current nm linker: No migration, no preparation, but eliminates linking step.
For macos we can use nfs server as fallback.
POC: https://github.com/goloveychuk/yarn-plugin-fuse
Caveats: nfs mount and mount without fusermount util requires root. Can be helped a bit by installing helper with setuid flag (still need one root escalation).
Implementation caveats: while it's easy to do readonly tree, postinstalls do writes.
There are multiple solutions. Linux supports overlayfs, for macOS we can reimplement it, partially (although it's complicated). Other solution: ahead of time do "unplug" and passthrough package dir in nm tree to real dir (easy to implement).
Wdyt?
Beta Was this translation helpful? Give feedback.
All reactions