All Projects → marijnh → distfs

marijnh / distfs

Licence: other
Mount a directory of ES6 code as a FUSE directory of babel-compiled output

Programming Languages

javascript
184084 projects - #8 most used programming language

DistFS

Pull-based virtual filesystem to expose directory trees of ES6 code as Babel-compiled code.

Uses FUSE to mount a user-space filesystem that exposes the same directory structure but, when you read the actual files, gives you the compiled scripts instead of the original content. Will block accesses to the file until the compilation is done, so that you're always sure that you have the up-to-date code.

Changes to source files will automatically show up in the virtual files.

To an extent, should should be able to use fs.watch on files in the virtual file system to notice when they are updated.

Usage:

distfs src dist

Where src is your source dir and dist is a directory (may be empty, doesn't have to be) to be used as mount point. After doing this, you'll have the compiled version of src/foo/bar.js available as dist/foo/bar.js.

Caveats

Only tested on Linux. Might work on OS X, likely not on Windows.

DistFS will cache all content in entirely memory. This is usually good, since it means you can access precompiled code quickly, but it also means that if you accidentally access a giant file through this, it'll waste a lot of memory. To be safe, mount directories containing only source code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].