mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-21 03:36:06 +00:00
On Windows, StdBackend only watched the logical paths Rojo read, so edits made through the physical target of a file symlink, directory symlink, or junction outside the watched tree never reached `rojo serve` until it was restarted. The Windows backend now tracks each watched logical path's resolved target, registers native watches for targets outside existing watches, and maps target lifecycle events back to their logical aliases through a new VfsEvent::Rescan. Watches are refreshed when a link is removed, recreated, or repointed, and shared targets stay watched until their last alias goes away. The change processor handles Rescan and logs, rather than panics on, events for paths that no longer exist. Non-Windows behavior is unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE.txt | ||
| README.md | ||
| README.tpl | ||
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.