Node.js bindings for User Space Virtual File System (USVFS).
This only works on 64-bit Windows 10
npm install @stormymcstorm/node_usvfs -S
WARNING: if this there is not already a prebuilt binary for your system this module will take a long time to compile and will require a lot of space
const USVFS = require('@stormymcstorm/node_usvfs');
const path = require('path');
const vfs = new USVFS('node');
// create a virtual link between directories
vfs.linkDirectoryStatic(path.resolve('example/s'), path.resolve('example/d'));
// notepad will have access to the virtual file system
vfs.spawn('notepad.exe', () => {
console.log('done');
});
vfs.clearMappings();
The clear mappings method will clear all virtual links
Creates a virtual link to the file
const wasLinked = vfs.linkFile(pathTosrc, pathToDest);
string src
the source file to link. Must be a absolute pathstring dest
the destination for the link
Returns a boolean
indicating whether or not the file was successfuly linked
Creates virtual links for all the files in the directory
const wasLinked = vfs.linkDirectoryStatic(pathTosrc, pathToDest);
string src
the source directory to link. Must be a absolute pathstring dest
the destination for the link
Returns a boolean
indicating whether or not the directory was successfuly linked
disconnects from the current vfs
vfs.disconnect();
Spawns the given command and blocks until the process exits
vfs.spawnSync('notepad.exe');
string command
the command to spawn
Spawns the given command asynchronously
vfs.spawn('notepad.exe', () => console.log('done'));
string command
the command to spawn[function callback]
a optional callback to be called when the process exits
Windows 10 64-bit
node-gyp requires windows-build-tools to run
USVFS requires Visual Studio 2017 to compile.
- Workloads
- Desktop development with C++
- Individual components
- Windows 10 SDK (10.0.16299.0) for Desktop C++ [x86 and x64]
- allow for relative paths
- support 32 bit windows
- add support for creating multiple virtual file systems