rojo/crates/memofs
Joe 9ddd9379ab Refine VFS watch behavior to support recursive watching
- Updated the `read_raw` method in `VfsInner` to ensure that the file watching behavior is only triggered when both `watch_enabled` and `watch_recursive` are true. This change enhances the control over file watching, particularly in scenarios involving nested directories.

These modifications aim to improve the efficiency and accuracy of the VFS's file watching capabilities.
2026-03-06 17:43:08 -06:00
..
src Refine VFS watch behavior to support recursive watching 2026-03-06 17:43:08 -06:00
Cargo.toml Update dependencies and add CLI completions support 2026-03-01 07:14:55 -06:00
CHANGELOG.md Implement VFS Path normalization for improved cross-platform tree synchronization (#1201) 2026-01-19 15:04:59 -08:00
LICENSE.txt Move memofs and rojo-insta-ext into crates folder 2022-05-26 04:23:44 -04:00
README.md Move memofs and rojo-insta-ext into crates folder 2022-05-26 04:23:44 -04:00
README.tpl Move memofs and rojo-insta-ext into crates folder 2022-05-26 04:23:44 -04:00

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.