5 releases

0.2.0 Aug 23, 2021
0.1.3 Nov 19, 2020
0.1.2 Mar 29, 2020
0.1.1 Mar 19, 2020
0.1.0 Mar 11, 2020

#200 in Build Utils

Download history 56/week @ 2022-08-19 59/week @ 2022-08-26 37/week @ 2022-09-02 43/week @ 2022-09-09 24/week @ 2022-09-16 25/week @ 2022-09-23 26/week @ 2022-09-30 29/week @ 2022-10-07 54/week @ 2022-10-14 26/week @ 2022-10-21 33/week @ 2022-10-28 31/week @ 2022-11-04 42/week @ 2022-11-11 17/week @ 2022-11-18 14/week @ 2022-11-25 12/week @ 2022-12-02

92 downloads per month
Used in rojo

MIT license

30KB
636 lines

memofs

Crates.io

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 uses std::fs and the notify crate
    • NoopBackend, which always throws errors
    • InMemoryFs, 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.


lib.rs:

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 uses std::fs and the notify crate
  • NoopBackend, which always throws errors
  • InMemoryFs, 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)

Dependencies

~1–6MB
~103K SLoC