forked from rojo-rbx/rojo
As part of prep for a 7.4.2 release, this backports changes to the 7.4.X branch that we can reasonably ship in 7.4.2 without too many code changes.
memofs
Implementation of a virtual filesystem with a configurable backend and file watching.
memofs is currently an unstable minimum viable library. Its primary consumer is Rojo, a build system for Roblox.
Current Features
- API similar to
std::fs - Configurable backends
StdBackend, which usesstd::fsand thenotifycrateNoopBackend, which always throws errorsInMemoryFs, a simple in-memory filesystem useful for testing
Future Features
- Hash-based hierarchical memoization keys (hence the name)
- Configurable caching (write-through, write-around, write-back)
License
memofs is available under the terms of the MIT license. See LICENSE.txt or https://opensource.org/licenses/MIT for more details.